home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 242 / Issue 242 - April 2008 - DPCS0408DVD.ISO / Software Money Savers / VirtualDub / Source / VirtualDub-1.7.7-src.7z / src / h / vd2 / external / glATI.h
Encoding:
C/C++ Source or Header  |  2006-03-14  |  108.6 KB  |  2,497 lines

  1. #ifndef __gl_ATI_h_
  2. #define __gl_ATI_h_
  3. /*
  4. ** Copyright (C) 1998-2002 ATI Technologies Inc.
  5. */
  6.  
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10.  
  11. #ifndef APIENTRY
  12. #define WIN32_LEAN_AND_MEAN 1
  13. #include <windows.h>
  14. #endif
  15.  
  16. /*
  17. ** Notes:
  18. **
  19. **  Listed support is for current drivers and should really only be used
  20. **  as a guideline.  ISV should still use glGetString() and
  21. **  wglGetExtensionsString() to determine the exact set of supported
  22. **  GL and WGL extensions.
  23. **
  24. */
  25.  
  26. /*
  27. **  ARB EXTENSIONS
  28. */
  29.  
  30. /*
  31. ** GL_ARB_matrix_palette
  32. **
  33. ** Support:
  34. **   Rage   128       based : Not Supported
  35. **   Radeon 7xxx      based : Not Supported
  36. **   Radeon 8xxx/9000 based : Not Supported
  37. **   Radeon 9500/9700 based : Not Supported
  38. */
  39. #ifndef GL_ARB_matrix_palette
  40. #define GL_ARB_matrix_palette                   1
  41.  
  42. #define GL_MATRIX_PALETTE_ARB                   0x8840
  43. #define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB   0x8841
  44. #define GL_MAX_PALETTE_MATRICES_ARB             0x8842
  45. #define GL_CURRENT_PALETTE_MATRIX_ARB           0x8843
  46. #define GL_MATRIX_INDEX_ARRAY_ARB               0x8844
  47. #define GL_CURRENT_MATRIX_INDEX_ARB             0x8845
  48. #define GL_MATRIX_INDEX_ARRAY_SIZE_ARB          0x8846
  49. #define GL_MATRIX_INDEX_ARRAY_TYPE_ARB          0x8847
  50. #define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB        0x8848
  51. #define GL_MATRIX_INDEX_ARRAY_POINTER_ARB       0x8849
  52.  
  53. typedef void (APIENTRY * PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index);
  54. typedef void (APIENTRY * PFNGLMATRIXINDEXUBVARBPROC) (GLint size, GLubyte *indices);
  55. typedef void (APIENTRY * PFNGLMATRIXINDEXUSVARBPROC) (GLint size, GLushort *indices);
  56. typedef void (APIENTRY * PFNGLMATRIXINDEXUIVARBPROC) (GLint size, GLuint *indices);
  57. typedef void (APIENTRY * PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
  58.  
  59. #endif /* GL_ARB_matrix_palette */
  60.  
  61. /*
  62. ** GL_ARB_multisample
  63. **
  64. ** Support:
  65. **   Rage   128       based : Not Supported
  66. **   Radeon 7xxx      based : Not Supported
  67. **   Radeon 8xxx/9000 based : Not Supported
  68. **   Radeon 9500/9700 based : Supported
  69. */
  70. #ifndef GL_ARB_multisample
  71. #define GL_ARB_multisample
  72.  
  73. #define GL_MULTISAMPLE_ARB              0x809D
  74. #define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E
  75. #define GL_SAMPLE_ALPHA_TO_ONE_ARB      0x809F
  76. #define GL_SAMPLE_COVERAGE_ARB          0x80A0
  77. #define GL_SAMPLE_BUFFERS_ARB           0x80A8
  78. #define GL_SAMPLES_ARB                  0x80A9
  79. #define GL_SAMPLE_COVERAGE_VALUE_ARB    0x80AA
  80. #define GL_SAMPLE_COVERAGE_INVERT_ARB   0x80AB
  81. #define GL_MULTISAMPLE_BIT_ARB          0x20000000
  82.  
  83. typedef void (APIENTRY * PFNGLSAMPLECOVERAGEARBPROC)(GLclampf value, GLboolean invert);
  84.  
  85. #endif /* GL_ARB_multisample */
  86.  
  87. /*
  88. ** GL_ARB_multitexture
  89. **
  90. **  Support:
  91. **   Rage 128         based : Supported
  92. **   Radeon 7xxx      based : Supported
  93. **   Radeon 8xxx/9000 based : Supported
  94. **   Radeon 9500/9700 based : Supported
  95. */
  96. #ifndef GL_ARB_multitexture
  97. #define GL_ARB_multitexture                 1
  98.  
  99. #define GL_ACTIVE_TEXTURE_ARB               0x84E0
  100. #define GL_CLIENT_ACTIVE_TEXTURE_ARB        0x84E1
  101. #define GL_MAX_TEXTURE_UNITS_ARB            0x84E2
  102. #define GL_TEXTURE0_ARB                     0x84C0
  103. #define GL_TEXTURE1_ARB                     0x84C1
  104. #define GL_TEXTURE2_ARB                     0x84C2
  105. #define GL_TEXTURE3_ARB                     0x84C3
  106. #define GL_TEXTURE4_ARB                     0x84C4
  107. #define GL_TEXTURE5_ARB                     0x84C5
  108. #define GL_TEXTURE6_ARB                     0x84C6
  109. #define GL_TEXTURE7_ARB                     0x84C7
  110. #define GL_TEXTURE8_ARB                     0x84C8
  111. #define GL_TEXTURE9_ARB                     0x84C9
  112. #define GL_TEXTURE10_ARB                    0x84CA
  113. #define GL_TEXTURE11_ARB                    0x84CB
  114. #define GL_TEXTURE12_ARB                    0x84CC
  115. #define GL_TEXTURE13_ARB                    0x84CD
  116. #define GL_TEXTURE14_ARB                    0x84CE
  117. #define GL_TEXTURE15_ARB                    0x84CF
  118. #define GL_TEXTURE16_ARB                    0x84D0
  119. #define GL_TEXTURE17_ARB                    0x84D1
  120. #define GL_TEXTURE18_ARB                    0x84D2
  121. #define GL_TEXTURE19_ARB                    0x84D3
  122. #define GL_TEXTURE20_ARB                    0x84D4
  123. #define GL_TEXTURE21_ARB                    0x84D5
  124. #define GL_TEXTURE22_ARB                    0x84D6
  125. #define GL_TEXTURE23_ARB                    0x84D7
  126. #define GL_TEXTURE24_ARB                    0x84D8
  127. #define GL_TEXTURE25_ARB                    0x84D9
  128. #define GL_TEXTURE26_ARB                    0x84DA
  129. #define GL_TEXTURE27_ARB                    0x84DB
  130. #define GL_TEXTURE28_ARB                    0x84DC
  131. #define GL_TEXTURE29_ARB                    0x84DD
  132. #define GL_TEXTURE30_ARB                    0x84DE
  133. #define GL_TEXTURE31_ARB                    0x84DF
  134.  
  135. typedef void (APIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
  136. typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
  137. typedef void (APIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum texture, GLdouble s);
  138. typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum texture, const GLdouble *v);
  139. typedef void (APIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum texture, GLfloat s);
  140. typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum texture, const GLfloat *v);
  141. typedef void (APIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum texture, GLint s);
  142. typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum texture, const GLint *v);
  143. typedef void (APIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum texture, GLshort s);
  144. typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum texture, const GLshort *v);
  145. typedef void (APIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum texture, GLdouble s, GLdouble t);
  146. typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum texture, const GLdouble *v);
  147. typedef void (APIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum texture, GLfloat s, GLfloat t);
  148. typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum texture, const GLfloat *v);
  149. typedef void (APIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum texture, GLint s, GLint t);
  150. typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum texture, const GLint *v);
  151. typedef void (APIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum texture, GLshort s, GLshort t);
  152. typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum texture, const GLshort *v);
  153. typedef void (APIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum texture, GLdouble s, GLdouble t, GLdouble r);
  154. typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum texture, const GLdouble *v);
  155. typedef void (APIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum texture, GLfloat s, GLfloat t, GLfloat r);
  156. typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum texture, const GLfloat *v);
  157. typedef void (APIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum texture, GLint s, GLint t, GLint r);
  158. typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum texture, const GLint *v);
  159. typedef void (APIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum texture, GLshort s, GLshort t, GLshort r);
  160. typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum texture, const GLshort *v);
  161. typedef void (APIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum texture, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
  162. typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum texture, const GLdouble *v);
  163. typedef void (APIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum texture, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
  164. typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum texture, const GLfloat *v);
  165. typedef void (APIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum texture, GLint s, GLint t, GLint r, GLint q);
  166. typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum texture, const GLint *v);
  167. typedef void (APIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum texture, GLshort s, GLshort t, GLshort r, GLshort q);
  168. typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum texture, const GLshort *v);
  169.  
  170. #endif /* GL_ARB_multitexture */
  171.  
  172. /*
  173. ** GL_ARB_texture_border_clamp
  174. **
  175. ** Support:
  176. **   Rage 128         based : Supported
  177. **   Radeon 7xxx      based : Supported
  178. **   Radeon 8xxx/9000 based : Supported
  179. **   Radeon 9500/9700 based : Supported
  180. */
  181. #ifndef GL_ARB_texture_border_clamp
  182. #define GL_ARB_texture_border_clamp 1
  183.  
  184. #define GL_CLAMP_TO_BORDER_ARB  0x812D
  185.  
  186. #endif /* GL_ARB_texture_border_clamp */
  187.  
  188. /*
  189. ** GL_ARB_texture_compression
  190. **
  191. ** Support:
  192. **   Rage 128         based : Not Supported
  193. **   Radeon 7xxx      based : Supported
  194. **   Radeon 8xxx/9000 based : Supported
  195. **   Radeon 9500/9700 based : Supported
  196. */
  197. #ifndef GL_ARB_texture_compression
  198. #define GL_ARB_texture_compression 1
  199.  
  200. #define GL_COMPRESSED_ALPHA_ARB               0x84E9
  201. #define GL_COMPRESSED_LUMINANCE_ARB           0x84EA
  202. #define GL_COMPRESSED_LUMINANCE_ALPHA_ARB     0x84EB
  203. #define GL_COMPRESSED_INTENSITY_ARB           0x84EC
  204. #define GL_COMPRESSED_RGB_ARB                 0x84ED
  205. #define GL_COMPRESSED_RGBA_ARB                0x84EE
  206. #define GL_TEXTURE_COMPRESSION_HINT_ARB       0x84EF
  207. #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB  0x86A0
  208. #define GL_TEXTURE_COMPRESSED_ARB             0x86A1
  209. #define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
  210. #define GL_COMPRESSED_TEXTURE_FORMATS_ARB     0x86A3
  211.  
  212. typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DARBPROC)(GLenum target, GLint level,
  213.                                                            GLenum internalFormat, GLsizei width,
  214.                                                            GLsizei height, GLsizei depth,
  215.                                                            GLint border, GLsizei imageSize,
  216.                                                            const GLvoid *data);
  217. typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DARBPROC)(GLenum target, GLint level,
  218.                                                            GLenum internalFormat, GLsizei width,
  219.                                                            GLsizei height, GLint border,
  220.                                                            GLsizei imageSize, const GLvoid *data);
  221. typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DARBPROC)(GLenum target, GLint level,
  222.                                                            GLenum internalFormat, GLsizei width,
  223.                                                            GLint border, GLsizei imageSize,
  224.                                                            const GLvoid *data);
  225. typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC)(GLenum target, GLint level,
  226.                                                               GLint xoffset, GLint yoffset,
  227.                                                               GLint zoffset, GLsizei width,
  228.                                                               GLsizei height, GLsizei depth,
  229.                                                               GLenum format, GLsizei imageSize,
  230.                                                               const GLvoid *data);
  231. typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC)(GLenum target, GLint level,
  232.                                                               GLint xoffset, GLint yoffset,
  233.                                                               GLsizei width, GLsizei height,
  234.                                                               GLenum format, GLsizei imageSize,
  235.                                                               const GLvoid *data);
  236. typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC)(GLenum target, GLint level,
  237.                                                               GLint xoffset, GLsizei width,
  238.                                                               GLenum format, GLsizei imageSize,
  239.                                                               const GLvoid *data);
  240. typedef void (APIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC)(GLenum target, GLint lod,
  241.                                                             GLvoid *img);
  242.  
  243.  
  244. #endif /* GL_ARB_texture_compression */
  245.  
  246. /*
  247. ** GL_ARB_texture_cube_map
  248. **
  249. **  Support:
  250. **   Rage 128         based : Not Supported
  251. **   Radeon 7xxx      based : Supported
  252. **   Radeon 8xxx/9000 based : Supported
  253. **   Radeon 9500/9700 based : Supported
  254. */
  255. #ifndef GL_ARB_texture_cube_map
  256. #define GL_ARB_texture_cube_map 1
  257.  
  258. #define GL_NORMAL_MAP_ARB                  0x8511
  259. #define GL_REFLECTION_MAP_ARB              0x8512
  260. #define GL_TEXTURE_CUBE_MAP_ARB            0x8513
  261. #define GL_TEXTURE_BINDING_CUBE_MAP_ARB    0x8514
  262. #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
  263. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
  264. #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
  265. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
  266. #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
  267. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
  268. #define GL_PROXY_TEXTURE_CUBE_MAP_ARB      0x851B
  269. #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB   0x851C
  270.  
  271. #endif /* GL_ARB_texture_cube_map */
  272.  
  273. /*
  274. ** GL_ARB_texture_env_add
  275. **
  276. **  Support:
  277. **   Rage 128         based : Supported
  278. **   Radeon 7xxx      based : Supported
  279. **   Radeon 8xxx/9000 based : Supported
  280. **   Radeon 9500/9700 based : Supported
  281. */
  282. #ifndef GL_ARB_texture_env_add
  283. #define GL_ARB_texture_env_add  1
  284.  
  285. #endif /* GL_ARB_texture_env_add */
  286.  
  287. /*
  288. ** GL_ARB_texture_env_combine
  289. **
  290. **  Support:
  291. **   Rage 128         based : Not Supported
  292. **   Radeon 7xxx      based : Supported
  293. **   Radeon 8xxx/9000 based : Supported
  294. **   Radeon 9500/9700 based : Supported
  295. */
  296.  
  297. #ifndef GL_ARB_texture_env_combine
  298. #define GL_ARB_texture_env_combine  1
  299.  
  300. #define GL_COMBINE_ARB        0x8570
  301. #define GL_COMBINE_RGB_ARB    0x8571
  302. #define GL_COMBINE_ALPHA_ARB  0x8572
  303. #define GL_SOURCE0_RGB_ARB    0x8580
  304. #define GL_SOURCE1_RGB_ARB    0x8581
  305. #define GL_SOURCE2_RGB_ARB    0x8582
  306. #define GL_SOURCE0_ALPHA_ARB  0x8588
  307. #define GL_SOURCE1_ALPHA_ARB  0x8589
  308. #define GL_SOURCE2_ALPHA_ARB  0x858A
  309. #define GL_OPERAND0_RGB_ARB   0x8590
  310. #define GL_OPERAND1_RGB_ARB   0x8591
  311. #define GL_OPERAND2_RGB_ARB   0x8592
  312. #define GL_OPERAND0_ALPHA_ARB 0x8598
  313. #define GL_OPERAND1_ALPHA_ARB 0x8599
  314. #define GL_OPERAND2_ALPHA_ARB 0x859A
  315. #define GL_RGB_SCALE_ARB      0x8573
  316. #define GL_ADD_SIGNED_ARB     0x8574
  317. #define GL_INTERPOLATE_ARB    0x8575
  318. #define GL_CONSTANT_ARB       0x8576
  319. #define GL_PRIMARY_COLOR_ARB  0x8577
  320. #define GL_PREVIOUS_ARB       0x8578
  321. #define GL_SUBTRACT_ARB       0x84E7
  322.  
  323. #endif /* GL_ARB_texture_env_combine */
  324.  
  325. /*
  326. ** GL_ARB_texture_env_crossbar
  327. **
  328. **  Support:
  329. **   Rage 128         based : Not Supported
  330. **   Radeon 7xxx      based : Supported
  331. **   Radeon 8xxx/9000 based : Supported
  332. **   Radeon 9500/9700 based : Supported
  333. */
  334. #ifndef GL_ARB_texture_env_crossbar
  335. #define GL_ARB_texture_env_crossbar 1
  336.  
  337. #endif /* GL_ARB_texture_env_crossbar */
  338.  
  339. /*
  340. ** GL_ARB_texture_env_dot3
  341. **
  342. **  Support:
  343. **   Rage 128         based : Not Supported
  344. **   Radeon 7xxx      based : Supported
  345. **   Radeon 8xxx/9000 based : Supported
  346. **   Radeon 9500/9700 based : Supported
  347. */
  348. #ifndef GL_ARB_texture_env_dot3
  349. #define GL_ARB_texture_env_dot3 1
  350.  
  351. #define GL_DOT3_RGB_ARB  0x86AE
  352. #define GL_DOT3_RGBA_ARB 0x86AF
  353.  
  354. #endif /* GL_ARB_texture_env_dot3 */
  355.  
  356. /*
  357. ** GL_ARB_texture_mirrored_repeat
  358. **
  359. **  Support:
  360. **   Rage 128         based : Not Supported
  361. **   Radeon 7xxx      based : Supported
  362. **   Radeon 8xxx/9000 based : Supported
  363. **   Radeon 9500/9700 based : Supported
  364. */
  365. #ifndef GL_ARB_texture_mirrored_repeat
  366. #define GL_ARB_texture_mirrored_repeat 1
  367.  
  368. #define GL_MIRRORED_REPEAT_ARB               0x8370
  369.  
  370. #endif /* GL_ARB_texture_mirrored_repeat */
  371.  
  372. /*
  373. ** GL_ARB_transpose_matrix
  374. **
  375. **  Support:
  376. **   Rage 128         based : Supported
  377. **   Radeon 7xxx      based : Supported
  378. **   Radeon 8xxx/9000 based : Supported
  379. **   Radeon 9500/9700 based : Supported
  380. */
  381. #ifndef GL_ARB_transpose_matrix
  382. #define GL_ARB_transpose_matrix 1
  383.  
  384. #define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB  0x84E3
  385. #define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4
  386. #define GL_TRANSPOSE_TEXTURE_MATRIX_ARB    0x84E5
  387. #define GL_TRANSPOSE_COLOR_MATRIX_ARB      0x84E6
  388.  
  389. typedef void (APIENTRY * PFNGLLOADTRANSPOSEMATRIXFARBPROC)(const GLfloat m[16]);
  390. typedef void (APIENTRY * PFNGLLOADTRANSPOSEMATRIXDARBPROC)(const GLdouble m[16]);
  391. typedef void (APIENTRY * PFNGLMULTTRANSPOSEMATRIXFARBPROC)(const GLfloat m[16]);
  392. typedef void (APIENTRY * PFNGLMULTTRANSPOSEMATRIXDARBPROC)(const GLdouble m[16]);
  393.  
  394. #endif /* GL_ARB_transpose_matrix */
  395.  
  396. /*
  397. ** GL_ARB_vertex_blend
  398. **
  399. **  Support:
  400. **   Rage 128         based : Supported
  401. **   Radeon 7xxx      based : Supported
  402. **   Radeon 8xxx/9000 based : Supported
  403. **   Radeon 9500/9700 based : Supported
  404. */
  405. #ifndef GL_ARB_vertex_blend
  406. #define GL_ARB_vertex_blend         1
  407.  
  408. #define GL_MAX_VERTEX_UNITS_ARB     0x86A4
  409. #define GL_ACTIVE_VERTEX_UNITS_ARB  0x86A5
  410. #define GL_WEIGHT_SUM_UNITY_ARB     0x86A6
  411. #define GL_VERTEX_BLEND_ARB         0x86A7
  412. #define GL_CURRENT_WEIGHT_ARB       0x86A8
  413. #define GL_WEIGHT_ARRAY_TYPE_ARB    0x86A9
  414. #define GL_WEIGHT_ARRAY_STRIDE_ARB  0x86AA
  415. #define GL_WEIGHT_ARRAY_SIZE_ARB    0x86AB
  416. #define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC
  417. #define GL_WEIGHT_ARRAY_ARB         0x86AD
  418. #define GL_MODELVIEW0_ARB           0x1700
  419. #define GL_MODELVIEW1_ARB           0x850a
  420. #define GL_MODELVIEW2_ARB           0x8722
  421. #define GL_MODELVIEW3_ARB           0x8723
  422. #define GL_MODELVIEW4_ARB           0x8724
  423. #define GL_MODELVIEW5_ARB           0x8725
  424. #define GL_MODELVIEW6_ARB           0x8726
  425. #define GL_MODELVIEW7_ARB           0x8727
  426. #define GL_MODELVIEW8_ARB           0x8728
  427. #define GL_MODELVIEW9_ARB           0x8729
  428. #define GL_MODELVIEW10_ARB          0x872A
  429. #define GL_MODELVIEW11_ARB          0x872B
  430. #define GL_MODELVIEW12_ARB          0x872C
  431. #define GL_MODELVIEW13_ARB          0x872D
  432. #define GL_MODELVIEW14_ARB          0x872E
  433. #define GL_MODELVIEW15_ARB          0x872F
  434. #define GL_MODELVIEW16_ARB          0x8730
  435. #define GL_MODELVIEW17_ARB          0x8731
  436. #define GL_MODELVIEW18_ARB          0x8732
  437. #define GL_MODELVIEW19_ARB          0x8733
  438. #define GL_MODELVIEW20_ARB          0x8734
  439. #define GL_MODELVIEW21_ARB          0x8735
  440. #define GL_MODELVIEW22_ARB          0x8736
  441. #define GL_MODELVIEW23_ARB          0x8737
  442. #define GL_MODELVIEW24_ARB          0x8738
  443. #define GL_MODELVIEW25_ARB          0x8739
  444. #define GL_MODELVIEW26_ARB          0x873A
  445. #define GL_MODELVIEW27_ARB          0x873B
  446. #define GL_MODELVIEW28_ARB          0x873C
  447. #define GL_MODELVIEW29_ARB          0x873D
  448. #define GL_MODELVIEW30_ARB          0x873E
  449. #define GL_MODELVIEW31_ARB          0x873F
  450.  
  451. typedef void (APIENTRY *PFNGLWEIGHTBVARBPROC)(GLint size, GLbyte *weights);
  452. typedef void (APIENTRY *PFNGLWEIGHTSVARBPROC)(GLint size, GLshort *weights);
  453. typedef void (APIENTRY *PFNGLWEIGHTIVARBPROC)(GLint size, GLint *weights);
  454. typedef void (APIENTRY *PFNGLWEIGHTFVARBPROC)(GLint size, GLfloat *weights);
  455. typedef void (APIENTRY *PFNGLWEIGHTDVARBPROC)(GLint size, GLdouble *weights);
  456. typedef void (APIENTRY *PFNGLWEIGHTUBVARBPROC)(GLint size, GLubyte *weights);
  457. typedef void (APIENTRY *PFNGLWEIGHTUSVARBPROC)(GLint size, GLushort *weights);
  458. typedef void (APIENTRY *PFNGLWEIGHTUIVARBPROC)(GLint size, GLuint *weights);
  459. typedef void (APIENTRY *PFNGLWEIGHTPOINTERARBPROC)(GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
  460. typedef void (APIENTRY *PFNGLVERTEXBLENDARBPROC)(GLint count);
  461.  
  462. #endif /* GL_ARB_vertex_blend */
  463.  
  464. /*
  465. ** GL_ARB_vertex_program
  466. **
  467. **  Support:
  468. **   Rage 128         based : Not Supported
  469. **   Radeon 7xxx      based : Not Supported
  470. **   Radeon 8xxx/9000 based : Supported
  471. **   Radeon 9500/9700 based : Supported
  472. */
  473. #ifndef GL_ARB_vertex_program
  474. #define GL_ARB_vertex_program 1
  475.  
  476. #define GL_VERTEX_PROGRAM_ARB                               0x8620
  477. #define GL_VERTEX_PROGRAM_POINT_SIZE_ARB                    0x8642
  478. #define GL_VERTEX_PROGRAM_TWO_SIDE_ARB                      0x8643
  479. #define GL_COLOR_SUM_ARB                                    0x8458
  480. #define GL_PROGRAM_FORMAT_ASCII_ARB                         0x8875
  481. #define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB                  0x8622
  482. #define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB                     0x8623
  483. #define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB                   0x8624
  484. #define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB                     0x8625
  485. #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB               0x886A
  486. #define GL_CURRENT_VERTEX_ATTRIB_ARB                        0x8626
  487. #define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB                  0x8645
  488. #define GL_PROGRAM_LENGTH_ARB                               0x8627
  489. #define GL_PROGRAM_FORMAT_ARB                               0x8876
  490. #define GL_PROGRAM_BINDING_ARB                              0x8677
  491. #define GL_PROGRAM_INSTRUCTIONS_ARB                         0x88A0
  492. #define GL_MAX_PROGRAM_INSTRUCTIONS_ARB                     0x88A1
  493. #define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB                  0x88A2
  494. #define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB              0x88A3
  495. #define GL_PROGRAM_TEMPORARIES_ARB                          0x88A4
  496. #define GL_MAX_PROGRAM_TEMPORARIES_ARB                      0x88A5
  497. #define GL_PROGRAM_NATIVE_TEMPORARIES_ARB                   0x88A6
  498. #define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB               0x88A7
  499. #define GL_PROGRAM_PARAMETERS_ARB                           0x88A8
  500. #define GL_MAX_PROGRAM_PARAMETERS_ARB                       0x88A9
  501. #define GL_PROGRAM_NATIVE_PARAMETERS_ARB                    0x88AA
  502. #define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB                0x88AB
  503. #define GL_PROGRAM_ATTRIBS_ARB                              0x88AC
  504. #define GL_MAX_PROGRAM_ATTRIBS_ARB                          0x88AD
  505. #define GL_PROGRAM_NATIVE_ATTRIBS_ARB                       0x88AE
  506. #define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB                   0x88AF
  507. #define GL_PROGRAM_ADDRESS_REGISTERS_ARB                    0x88B0
  508. #define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB                0x88B1
  509. #define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB             0x88B2
  510. #define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB         0x88B3
  511. #define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB                 0x88B4
  512. #define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB                   0x88B5
  513. #define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB                  0x88B6
  514. #define GL_PROGRAM_STRING_ARB                               0x8628
  515. #define GL_PROGRAM_ERROR_POSITION_ARB                       0x864B
  516. #define GL_CURRENT_MATRIX_ARB                               0x8641
  517. #define GL_TRANSPOSE_CURRENT_MATRIX_ARB                     0x88B7
  518. #define GL_CURRENT_MATRIX_STACK_DEPTH_ARB                   0x8640
  519. #define GL_MAX_VERTEX_ATTRIBS_ARB                           0x8869
  520. #define GL_MAX_PROGRAM_MATRICES_ARB                         0x862F
  521. #define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB               0x862E
  522. #define GL_PROGRAM_ERROR_STRING_ARB                         0x8874
  523. #define GL_MATRIX0_ARB                                      0x88C0
  524. #define GL_MATRIX1_ARB                                      0x88C1
  525. #define GL_MATRIX2_ARB                                      0x88C2
  526. #define GL_MATRIX3_ARB                                      0x88C3
  527. #define GL_MATRIX4_ARB                                      0x88C4
  528. #define GL_MATRIX5_ARB                                      0x88C5
  529. #define GL_MATRIX6_ARB                                      0x88C6
  530. #define GL_MATRIX7_ARB                                      0x88C7
  531. #define GL_MATRIX8_ARB                                      0x88C8
  532. #define GL_MATRIX9_ARB                                      0x88C9
  533. #define GL_MATRIX10_ARB                                     0x88CA
  534. #define GL_MATRIX11_ARB                                     0x88CB
  535. #define GL_MATRIX12_ARB                                     0x88CC
  536. #define GL_MATRIX13_ARB                                     0x88CD
  537. #define GL_MATRIX14_ARB                                     0x88CE
  538. #define GL_MATRIX15_ARB                                     0x88CF
  539. #define GL_MATRIX16_ARB                                     0x88D0
  540. #define GL_MATRIX17_ARB                                     0x88D1
  541. #define GL_MATRIX18_ARB                                     0x88D2
  542. #define GL_MATRIX19_ARB                                     0x88D3
  543. #define GL_MATRIX20_ARB                                     0x88D4
  544. #define GL_MATRIX21_ARB                                     0x88D5
  545. #define GL_MATRIX22_ARB                                     0x88D6
  546. #define GL_MATRIX23_ARB                                     0x88D7
  547. #define GL_MATRIX24_ARB                                     0x88D8
  548. #define GL_MATRIX25_ARB                                     0x88D9
  549. #define GL_MATRIX26_ARB                                     0x88DA
  550. #define GL_MATRIX27_ARB                                     0x88DB
  551. #define GL_MATRIX28_ARB                                     0x88DC
  552. #define GL_MATRIX29_ARB                                     0x88DD
  553. #define GL_MATRIX30_ARB                                     0x88DE
  554. #define GL_MATRIX31_ARB                                     0x88DF
  555.  
  556. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB1SARBPROC)(GLuint index, GLshort x);
  557. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB1FARBPROC)(GLuint index, GLfloat x);
  558. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB1DARBPROC)(GLuint index, GLdouble x);
  559. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB2SARBPROC)(GLuint index, GLshort x, GLshort y);
  560. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB2FARBPROC)(GLuint index, GLfloat x, GLfloat y);
  561. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB2DARBPROC)(GLuint index, GLdouble x, GLdouble y);
  562. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB3SARBPROC)(GLuint index, GLshort x, GLshort y, GLshort z);
  563. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB3FARBPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z);
  564. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB3DARBPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);
  565. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB4SARBPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
  566. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB4FARBPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  567. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB4DARBPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  568. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB4NUBARBPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
  569. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB1SVARBPROC)(GLuint index, const GLshort *v);
  570. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB1FVARBPROC)(GLuint index, const GLfloat *v);
  571. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB1DVARBPROC)(GLuint index, const GLdouble *v);
  572. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB2SVARBPROC)(GLuint index, const GLshort *v);
  573. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB2FVARBPROC)(GLuint index, const GLfloat *v);
  574. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB2DVARBPROC)(GLuint index, const GLdouble *v);
  575. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB3SVARBPROC)(GLuint index, const GLshort *v);
  576. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB3FVARBPROC)(GLuint index, const GLfloat *v);
  577. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB3DVARBPROC)(GLuint index, const GLdouble *v);
  578. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB4BVARBPROC)(GLuint index, const GLbyte *v);
  579. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB4SVARBPROC)(GLuint index, const GLshort *v);
  580. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB4IVARBPROC)(GLuint index, const GLint *v);
  581. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB4UBVARBPROC)(GLuint index, const GLubyte *v);
  582. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB4USVARBPROC)(GLuint index, const GLushort *v);
  583. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB4UIVARBPROC)(GLuint index, const GLuint *v);
  584. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB4FVARBPROC)(GLuint index, const GLfloat *v);
  585. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB4DVARBPROC)(GLuint index, const GLdouble *v);
  586. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB4NBVARBPROC)(GLuint index, const GLbyte *v);
  587. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB4NSVARBPROC)(GLuint index, const GLshort *v);
  588. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB4NIVARBPROC)(GLuint index, const GLint *v);
  589. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB4NUBVARBPROC)(GLuint index, const GLubyte *v);
  590. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB4NUSVARBPROC)(GLuint index, const GLushort *v);
  591. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIB4NUIVARBPROC)(GLuint index, const GLuint *v);
  592. typedef GLvoid (APIENTRY *PFNGLVERTEXATTRIBPOINTERARBPROC)(GLuint index, GLint size, GLenum type,
  593.                                                            GLboolean normalized, GLsizei stride,
  594.                                                            const GLvoid *pointer);
  595. typedef GLvoid (APIENTRY *PFNGLENABLEVERTEXATTRIBARRAYARBPROC)(GLuint index);
  596. typedef GLvoid (APIENTRY *PFNGLDISABLEVERTEXATTRIBARRAYARBPROC)(GLuint index);
  597. typedef GLvoid (APIENTRY *PFNGLPROGRAMSTRINGARBPROC)(GLenum target, GLenum format, GLsizei len, const GLvoid *string);
  598. typedef GLvoid (APIENTRY *PFNGLBINDPROGRAMARBPROC)(GLenum target, GLuint program);
  599. typedef GLvoid (APIENTRY *PFNGLDELETEPROGRAMSARBPROC)(GLsizei n, const GLuint *programs);
  600. typedef GLvoid (APIENTRY *PFNGLGENPROGRAMSARBPROC)(GLsizei n, GLuint *programs);
  601. typedef GLvoid (APIENTRY *PFNGLPROGRAMENVPARAMETER4FARBPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  602. typedef GLvoid (APIENTRY *PFNGLPROGRAMENVPARAMETER4DARBPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  603. typedef GLvoid (APIENTRY *PFNGLPROGRAMENVPARAMETER4FVARBPROC)(GLenum target, GLuint index, const GLfloat *params);
  604. typedef GLvoid (APIENTRY *PFNGLPROGRAMENVPARAMETER4DVARBPROC)(GLenum target, GLuint index, const GLdouble *params);
  605. typedef GLvoid (APIENTRY *PFNGLPROGRAMLOCALPARAMETER4FARBPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  606. typedef GLvoid (APIENTRY *PFNGLPROGRAMLOCALPARAMETER4DARBPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  607. typedef GLvoid (APIENTRY *PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)(GLenum target, GLuint index, const GLfloat *params);
  608. typedef GLvoid (APIENTRY *PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)(GLenum target, GLuint index, const GLdouble *params);
  609. typedef GLvoid (APIENTRY *PFNGLGETPROGRAMENVPARAMETERFVARBPROC)(GLenum target, GLuint index, GLfloat *params);
  610. typedef GLvoid (APIENTRY *PFNGLGETPROGRAMENVPARAMETERDVARBPROC)(GLenum target, GLuint index, GLdouble *params);
  611. typedef GLvoid (APIENTRY *PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)(GLenum target, GLuint index, GLfloat *params);
  612. typedef GLvoid (APIENTRY *PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)(GLenum target, GLuint index, GLdouble *params);
  613. typedef GLvoid (APIENTRY *PFNGLGETPROGRAMIVARBPROC)(GLenum target, GLenum pname, GLint *params);
  614. typedef GLvoid (APIENTRY *PFNGLGETPROGRAMSTRINGARBPROC)(GLenum target, GLenum pname, GLvoid *string);
  615. typedef GLvoid (APIENTRY *PFNGLGETVERTEXATTRIBDVARBPROC)(GLuint index, GLenum pname, GLdouble *params);
  616. typedef GLvoid (APIENTRY *PFNGLGETVERTEXATTRIBFVARBPROC)(GLuint index, GLenum pname, GLfloat *params);
  617. typedef GLvoid (APIENTRY *PFNGLGETVERTEXATTRIBIVARBPROC)(GLuint index, GLenum pname, GLint *params);
  618. typedef GLvoid (APIENTRY *PFNGLGETVERTEXATTRIBPOINTERVARBPROC)(GLuint index, GLenum pname, GLvoid **pointer);
  619. typedef GLboolean (APIENTRY *PFNGLISPROGRAMARBPROC)(GLuint program);
  620.  
  621. #endif /* GL_ARB_vertex_program */
  622.  
  623. /*
  624. ** GL_ARB_window_pos
  625. **
  626. **  Support:
  627. **   Rage 128         based : Supported
  628. **   Radeon 7xxx      based : Supported
  629. **   Radeon 8xxx/9000 based : Supported
  630. **   Radeon 9500/9700 based : Supported
  631. */
  632. #ifndef GL_ARB_window_pos
  633. #define GL_ARB_window_pos   1
  634.  
  635. typedef void (APIENTRY * PFNGLWINDOWPOS2DARBPROC) (double x, double y);
  636. typedef void (APIENTRY * PFNGLWINDOWPOS2FARBPROC) (float x, float y);
  637. typedef void (APIENTRY * PFNGLWINDOWPOS2IARBPROC) (int x, int y);
  638. typedef void (APIENTRY * PFNGLWINDOWPOS2SARBPROC) (short x, short y);
  639. typedef void (APIENTRY * PFNGLWINDOWPOS2IVARBPROC) (const int *p);
  640. typedef void (APIENTRY * PFNGLWINDOWPOS2SVARBPROC) (const short *p);
  641. typedef void (APIENTRY * PFNGLWINDOWPOS2FVARBPROC) (const float *p);
  642. typedef void (APIENTRY * PFNGLWINDOWPOS2DVARBPROC) (const double *p);
  643. typedef void (APIENTRY * PFNGLWINDOWPOS3IARBPROC) (int x, int y, int z);
  644. typedef void (APIENTRY * PFNGLWINDOWPOS3SARBPROC) (short x, short y, short z);
  645. typedef void (APIENTRY * PFNGLWINDOWPOS3FARBPROC) (float x, float y, float z);
  646. typedef void (APIENTRY * PFNGLWINDOWPOS3DARBPROC) (double x, double y, double z);
  647. typedef void (APIENTRY * PFNGLWINDOWPOS3IVARBPROC) (const int *p);
  648. typedef void (APIENTRY * PFNGLWINDOWPOS3SVARBPROC) (const short *p);
  649. typedef void (APIENTRY * PFNGLWINDOWPOS3FVARBPROC) (const float *p);
  650. typedef void (APIENTRY * PFNGLWINDOWPOS3DVARBPROC) (const double *p);
  651.  
  652. #endif /* GL_ARB_window_pos */
  653.  
  654. /*
  655. ** GL_ARB_depth_texture
  656. **
  657. ** Support:
  658. **   Rage 128         based : Not Supported
  659. **   Radeon 7xxx      based : Not Supported
  660. **   Radeon 8xxx/9000 based : Not Supported
  661. **   Radeon 9500/9700 based : Supported
  662. */
  663.  
  664. #ifndef GL_ARB_depth_texture
  665. #define GL_ARB_depth_texture            1
  666.  
  667. #define GL_DEPTH_COMPONENT16_ARB        0x81A5
  668. #define GL_DEPTH_COMPONENT24_ARB        0x81A6
  669. #define GL_DEPTH_COMPONENT32_ARB        0x81A7
  670.  
  671. #define GL_TEXTURE_DEPTH_SIZE_ARB       0x884A
  672.  
  673. #define GL_DEPTH_TEXTURE_MODE_ARB       0x884B
  674.  
  675. #endif /* GL_ARB_depth_texture */
  676.  
  677. #ifndef GL_ARB_shadow
  678. #define GL_ARB_shadow                   1
  679.  
  680. /*
  681. ** GL_ARB_shadow
  682. **
  683. ** Support:
  684. **   Rage 128         based : Not Supported
  685. **   Radeon 7xxx      based : Not Supported
  686. **   Radeon 8xxx/9000 based : Not Supported
  687. **   Radeon 9500/9700 based : Supported
  688. */
  689.  
  690. #define GL_TEXTURE_COMPARE_MODE_ARB     0x884C
  691. #define GL_TEXTURE_COMPARE_FUNC_ARB     0X884D
  692. #define GL_COMPARE_R_TO_TEXTURE_ARB     0x884E
  693. #endif  /* GL_ARB_shadow */
  694.  
  695. /*
  696. ** GL_ARB_shadow_ambient
  697. **
  698. ** Support:
  699. **   Rage 128         based : Not Supported
  700. **   Radeon 7xxx      based : Not Supported
  701. **   Radeon 8xxx/9000 based : Not Supported
  702. **   Radeon 9500/9700 based : Supported
  703. */
  704. #ifndef GL_ARB_shadow_ambient
  705. #define GL_ARB_shadow_ambient             1
  706.  
  707. #define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF
  708.  
  709. #endif /* GL_ARB_shadow_ambient */
  710.  
  711. /*
  712. **  ATI EXTENSIONS
  713. */
  714.  
  715. /*
  716. ** GL_ATI_envmap_bumpmap
  717. **
  718. ** Support:
  719. **   Rage 128         based : Not Supported
  720. **   Radeon 7xxx      based : Supported
  721. **   Radeon 8xxx/9000 based : Supported
  722. **   Radeon 9500/9700 based : Supported
  723. */
  724. #ifndef GL_ATI_envmap_bumpmap
  725. #define GL_ATI_envmap_bumpmap       1
  726.  
  727. #define GL_BUMP_ROT_MATRIX_ATI      0x8775
  728. #define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776
  729. #define GL_BUMP_NUM_TEX_UNITS_ATI   0x8777
  730. #define GL_BUMP_TEX_UNITS_ATI       0x8778
  731. #define GL_DUDV_ATI                 0x8779
  732. #define GL_DU8DV8_ATI               0x877A
  733. #define GL_BUMP_ENVMAP_ATI          0x877B
  734. #define GL_BUMP_TARGET_ATI          0x877C
  735.  
  736. typedef void (APIENTRY * PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);
  737. typedef void (APIENTRY * PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);
  738. typedef void (APIENTRY * PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);
  739. typedef void (APIENTRY * PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);
  740.  
  741.  
  742. #endif /* GL_ATI_envmap_bumpmap */
  743.  
  744.  
  745. /*
  746. ** GL_ATI_fragment_shader
  747. **
  748. ** Support:
  749. **   Rage 128         based : Not Supported
  750. **   Rage 128         based : Not Supported
  751. **   Radeon 7xxx      based : Not Supported
  752. **   Radeon 8xxx/9000 based : Supported
  753. **   Radeon 9500/9700 based : Supported
  754. */
  755. #ifndef GL_ATI_fragment_shader
  756. #define GL_ATI_fragment_shader                   1
  757.  
  758. #define GL_FRAGMENT_SHADER_ATI                   0x8920
  759. #define GL_REG_0_ATI                             0x8921
  760. #define GL_REG_1_ATI                             0x8922
  761. #define GL_REG_2_ATI                             0x8923
  762. #define GL_REG_3_ATI                             0x8924
  763. #define GL_REG_4_ATI                             0x8925
  764. #define GL_REG_5_ATI                             0x8926
  765. #define GL_REG_6_ATI                             0x8927
  766. #define GL_REG_7_ATI                             0x8928
  767. #define GL_REG_8_ATI                             0x8929
  768. #define GL_REG_9_ATI                             0x892A
  769. #define GL_REG_10_ATI                            0x892B
  770. #define GL_REG_11_ATI                            0x892C
  771. #define GL_REG_12_ATI                            0x892D
  772. #define GL_REG_13_ATI                            0x892E
  773. #define GL_REG_14_ATI                            0x892F
  774. #define GL_REG_15_ATI                            0x8930
  775. #define GL_REG_16_ATI                            0x8931
  776. #define GL_REG_17_ATI                            0x8932
  777. #define GL_REG_18_ATI                            0x8933
  778. #define GL_REG_19_ATI                            0x8934
  779. #define GL_REG_20_ATI                            0x8935
  780. #define GL_REG_21_ATI                            0x8936
  781. #define GL_REG_22_ATI                            0x8937
  782. #define GL_REG_23_ATI                            0x8938
  783. #define GL_REG_24_ATI                            0x8939
  784. #define GL_REG_25_ATI                            0x893A
  785. #define GL_REG_26_ATI                            0x893B
  786. #define GL_REG_27_ATI                            0x893C
  787. #define GL_REG_28_ATI                            0x893D
  788. #define GL_REG_29_ATI                            0x893E
  789. #define GL_REG_30_ATI                            0x893F
  790. #define GL_REG_31_ATI                            0x8940
  791. #define GL_CON_0_ATI                             0x8941
  792. #define GL_CON_1_ATI                             0x8942
  793. #define GL_CON_2_ATI                             0x8943
  794. #define GL_CON_3_ATI                             0x8944
  795. #define GL_CON_4_ATI                             0x8945
  796. #define GL_CON_5_ATI                             0x8946
  797. #define GL_CON_6_ATI                             0x8947
  798. #define GL_CON_7_ATI                             0x8948
  799. #define GL_CON_8_ATI                             0x8949
  800. #define GL_CON_9_ATI                             0x894A
  801. #define GL_CON_10_ATI                            0x894B
  802. #define GL_CON_11_ATI                            0x894C
  803. #define GL_CON_12_ATI                            0x894D
  804. #define GL_CON_13_ATI                            0x894E
  805. #define GL_CON_14_ATI                            0x894F
  806. #define GL_CON_15_ATI                            0x8950
  807. #define GL_CON_16_ATI                            0x8951
  808. #define GL_CON_17_ATI                            0x8952
  809. #define GL_CON_18_ATI                            0x8953
  810. #define GL_CON_19_ATI                            0x8954
  811. #define GL_CON_20_ATI                            0x8955
  812. #define GL_CON_21_ATI                            0x8956
  813. #define GL_CON_22_ATI                            0x8957
  814. #define GL_CON_23_ATI                            0x8958
  815. #define GL_CON_24_ATI                            0x8959
  816. #define GL_CON_25_ATI                            0x895A
  817. #define GL_CON_26_ATI                            0x895B
  818. #define GL_CON_27_ATI                            0x895C
  819. #define GL_CON_28_ATI                            0x895D
  820. #define GL_CON_29_ATI                            0x895E
  821. #define GL_CON_30_ATI                            0x895F
  822. #define GL_CON_31_ATI                            0x8960
  823. #define GL_MOV_ATI                               0x8961
  824. #define GL_ADD_ATI                               0x8963
  825. #define GL_MUL_ATI                               0x8964
  826. #define GL_SUB_ATI                               0x8965
  827. #define GL_DOT3_ATI                              0x8966
  828. #define GL_DOT4_ATI                              0x8967
  829. #define GL_MAD_ATI                               0x8968
  830. #define GL_LERP_ATI                              0x8969
  831. #define GL_CND_ATI                               0x896A
  832. #define GL_CND0_ATI                              0x896B
  833. #define GL_DOT2_ADD_ATI                          0x896C
  834. #define GL_SECONDARY_INTERPOLATOR_ATI            0x896D
  835. #define GL_NUM_FRAGMENT_REGISTERS_ATI            0x896E
  836. #define GL_NUM_FRAGMENT_CONSTANTS_ATI            0x896F
  837. #define GL_NUM_PASSES_ATI                        0x8970
  838. #define GL_NUM_INSTRUCTIONS_PER_PASS_ATI         0x8971
  839. #define GL_NUM_INSTRUCTIONS_TOTAL_ATI            0x8972
  840. #define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973
  841. #define GL_NUM_LOOPBACK_COMPONENTS_ATI           0x8974
  842. #define GL_COLOR_ALPHA_PAIRING_ATI               0x8975
  843. #define GL_SWIZZLE_STR_ATI                       0x8976
  844. #define GL_SWIZZLE_STQ_ATI                       0x8977
  845. #define GL_SWIZZLE_STR_DR_ATI                    0x8978
  846. #define GL_SWIZZLE_STQ_DQ_ATI                    0x8979
  847. #define GL_SWIZZLE_STRQ_ATI                      0x897A
  848. #define GL_SWIZZLE_STRQ_DQ_ATI                   0x897B
  849. #define GL_RED_BIT_ATI                           0x00000001
  850. #define GL_GREEN_BIT_ATI                         0x00000002
  851. #define GL_BLUE_BIT_ATI                          0x00000004
  852. #define GL_2X_BIT_ATI                            0x00000001
  853. #define GL_4X_BIT_ATI                            0x00000002
  854. #define GL_8X_BIT_ATI                            0x00000004
  855. #define GL_HALF_BIT_ATI                          0x00000008
  856. #define GL_QUARTER_BIT_ATI                       0x00000010
  857. #define GL_EIGHTH_BIT_ATI                        0x00000020
  858. #define GL_SATURATE_BIT_ATI                      0x00000040
  859. #define GL_COMP_BIT_ATI                          0x00000002
  860. #define GL_NEGATE_BIT_ATI                        0x00000004
  861. #define GL_BIAS_BIT_ATI                          0x00000008
  862.  
  863.  
  864. typedef GLuint (APIENTRY *PFNGLGENFRAGMENTSHADERSATIPROC)(GLuint range);
  865. typedef GLvoid (APIENTRY *PFNGLBINDFRAGMENTSHADERATIPROC)(GLuint id);
  866. typedef GLvoid (APIENTRY *PFNGLDELETEFRAGMENTSHADERATIPROC)(GLuint id);
  867. typedef GLvoid (APIENTRY *PFNGLBEGINFRAGMENTSHADERATIPROC)(GLvoid);
  868. typedef GLvoid (APIENTRY *PFNGLENDFRAGMENTSHADERATIPROC)(GLvoid);
  869. typedef GLvoid (APIENTRY *PFNGLPASSTEXCOORDATIPROC)(GLuint dst, GLuint coord, GLenum swizzle);
  870. typedef GLvoid (APIENTRY *PFNGLSAMPLEMAPATIPROC)(GLuint dst, GLuint interp, GLenum swizzle);
  871. typedef GLvoid (APIENTRY *PFNGLCOLORFRAGMENTOP1ATIPROC)(GLenum op, GLuint dst, GLuint dstMask,
  872.                                                         GLuint dstMod, GLuint arg1, GLuint arg1Rep,
  873.                                                         GLuint arg1Mod);
  874. typedef GLvoid (APIENTRY *PFNGLCOLORFRAGMENTOP2ATIPROC)(GLenum op, GLuint dst, GLuint dstMask,
  875.                                                         GLuint dstMod, GLuint arg1, GLuint arg1Rep,
  876.                                                         GLuint arg1Mod, GLuint arg2, GLuint arg2Rep,
  877.                                                         GLuint arg2Mod);
  878. typedef GLvoid (APIENTRY *PFNGLCOLORFRAGMENTOP3ATIPROC)(GLenum op, GLuint dst, GLuint dstMask,
  879.                                                         GLuint dstMod, GLuint arg1, GLuint arg1Rep,
  880.                                                         GLuint arg1Mod, GLuint arg2, GLuint arg2Rep,
  881.                                                         GLuint arg2Mod, GLuint arg3, GLuint arg3Rep,
  882.                                                         GLuint arg3Mod);
  883. typedef GLvoid (APIENTRY *PFNGLALPHAFRAGMENTOP1ATIPROC)(GLenum op, GLuint dst, GLuint dstMod,
  884.                                                         GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
  885. typedef GLvoid (APIENTRY *PFNGLALPHAFRAGMENTOP2ATIPROC)(GLenum op, GLuint dst, GLuint dstMod,
  886.                                                         GLuint arg1, GLuint arg1Rep, GLuint arg1Mod,
  887.                                                         GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
  888. typedef GLvoid (APIENTRY *PFNGLALPHAFRAGMENTOP3ATIPROC)(GLenum op, GLuint dst, GLuint dstMod,
  889.                                                         GLuint arg1, GLuint arg1Rep, GLuint arg1Mod,
  890.                                                         GLuint arg2, GLuint arg2Rep, GLuint arg2Mod,
  891.                                                         GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
  892. typedef GLvoid (APIENTRY *PFNGLSETFRAGMENTSHADERCONSTANTATIPROC)(GLuint dst, const GLfloat *value);
  893.  
  894. #endif /* GL_ATI_fragment_shader */
  895.  
  896. /*
  897. ** GL_ARB_fragment_program
  898. **
  899. ** Support:
  900. **   Rage 128         based : Not Supported
  901. **   Radeon 7xxx      based : Not Supported
  902. **   Radeon 8xxx/9000 based : Not Supported
  903. **   Radeon 9500/9700 based : Supported
  904. */
  905. #ifndef GL_ARB_fragment_program
  906. #define GL_ARB_fragment_program                    1
  907.  
  908. #define GL_FRAGMENT_PROGRAM_ARB                    0x8804
  909. #define GL_PROGRAM_ALU_INSTRUCTIONS_ARB            0x8805
  910. #define GL_PROGRAM_TEX_INSTRUCTIONS_ARB            0x8806
  911. #define GL_PROGRAM_TEX_INDIRECTIONS_ARB            0x8807
  912. #define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB     0x8808
  913. #define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB     0x8809
  914. #define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB     0x880A
  915. #define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB        0x880B
  916. #define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB        0x880C
  917. #define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB        0x880D
  918. #define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E
  919. #define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F
  920. #define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810
  921. #define GL_MAX_TEXTURE_COORDS_ARB                  0x8871
  922. #define GL_MAX_TEXTURE_IMAGE_UNITS_ARB             0x8872
  923.  
  924. #endif /* GL_ARB_fragment_program */
  925.  
  926. /*
  927. ** GL_ATI_pn_triangles
  928. **
  929. ** Support
  930. **   Rage 128         based : Not Supported
  931. **   Radeon 7xxx      based : Not Supported
  932. **   Radeon 8xxx/9000 based : Supported
  933. **   Radeon 9500/9700 based : Supported
  934. */
  935. #ifndef GL_ATI_pn_triangles
  936. #define GL_ATI_pn_triangles                       1
  937.  
  938. #define GL_PN_TRIANGLES_ATI                       0x87F0
  939. #define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1
  940. #define GL_PN_TRIANGLES_POINT_MODE_ATI            0x87F2
  941. #define GL_PN_TRIANGLES_NORMAL_MODE_ATI           0x87F3
  942. #define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI     0x87F4
  943. #define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI     0x87F5
  944. #define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI      0x87F6
  945. #define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI    0x87F7
  946. #define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8
  947.  
  948. typedef void (APIENTRY *PFNGLPNTRIANGLESIATIPROC)(GLenum pname, GLint param);
  949. typedef void (APIENTRY *PFNGLPNTRIANGLESFATIPROC)(GLenum pname, GLfloat param);
  950.  
  951. #endif /* GL_ATI_pn_triangles */
  952.  
  953. /*
  954. ** GL_ATI_separate_stencil
  955. **
  956. ** Support
  957. **   Rage 128         based : Not Supported
  958. **   Radeon 7xxx      based : Not Supported
  959. **   Radeon 8xxx/9000 based : Not Supported
  960. **   Radeon 9500/9700 based : Supported
  961. */
  962. #ifndef GL_ATI_separate_stencil
  963. #define GL_ATI_separate_stencil                     1
  964.  
  965. #define GL_STENCIL_BACK_FUNC_ATI                    0x8800
  966. #define GL_STENCIL_BACK_FAIL_ATI                    0x8801
  967. #define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI         0x8802
  968. #define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI         0x8803
  969.  
  970. typedef void (APIENTRY *PFNGLSTENCILOPSEPARATEATIPROC)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
  971. typedef void (APIENTRY *PFNGLSTENCILFUNCSEPARATEATIPROC)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
  972.  
  973. #endif /* GL_ATI_separate_stencil */
  974.  
  975.  
  976. /*
  977. ** GL_ATI_texture_mirror_once
  978. **
  979. **  Support:
  980. **   Rage 128         based : Supported
  981. **   Radeon 7xxx      based : Supported
  982. **   Radeon 8xxx/9000 based : Supported
  983. **   Radeon 9500/9700 based : Supported
  984. */
  985. #ifndef GL_ATI_texture_mirror_once
  986. #define GL_ATI_texture_mirror_once  1
  987.  
  988. #define GL_MIRROR_CLAMP_ATI         0x8742
  989. #define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743
  990.  
  991. #endif /* GL_ATI_texture_mirror_once */
  992.  
  993. /*
  994. ** GL_ATI_vertex_streams
  995. **
  996. **  Support:
  997. **   Rage 128         based : Supported
  998. **   Radeon 7xxx      based : Supported
  999. **   Radeon 8xxx/9000 based : Supported
  1000. **   Radeon 9500/9700 based : Supported
  1001. */
  1002. #ifndef GL_ATI_vertex_streams
  1003. #define GL_ATI_vertex_streams                                   1
  1004.  
  1005. #define GL_MAX_VERTEX_STREAMS_ATI                               0x876B
  1006. #define GL_VERTEX_SOURCE_ATI                                    0x876C
  1007. #define GL_VERTEX_STREAM0_ATI                                   0x876D
  1008. #define GL_VERTEX_STREAM1_ATI                                   0x876E
  1009. #define GL_VERTEX_STREAM2_ATI                                   0x876F
  1010. #define GL_VERTEX_STREAM3_ATI                                   0x8770
  1011. #define GL_VERTEX_STREAM4_ATI                                   0x8771
  1012. #define GL_VERTEX_STREAM5_ATI                                   0x8772
  1013. #define GL_VERTEX_STREAM6_ATI                                   0x8773
  1014. #define GL_VERTEX_STREAM7_ATI                                   0x8774
  1015.  
  1016. typedef void (APIENTRY * PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream);
  1017. typedef void (APIENTRY * PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param);
  1018. typedef void (APIENTRY * PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param);
  1019. typedef void (APIENTRY * PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y);
  1020. typedef void (APIENTRY * PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *v);
  1021. typedef void (APIENTRY * PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y);
  1022. typedef void (APIENTRY * PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *v);
  1023. typedef void (APIENTRY * PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y);
  1024. typedef void (APIENTRY * PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *v);
  1025. typedef void (APIENTRY * PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y);
  1026. typedef void (APIENTRY * PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *v);
  1027. typedef void (APIENTRY * PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
  1028. typedef void (APIENTRY * PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *v);
  1029. typedef void (APIENTRY * PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
  1030. typedef void (APIENTRY * PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *v);
  1031. typedef void (APIENTRY * PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
  1032. typedef void (APIENTRY * PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *v);
  1033. typedef void (APIENTRY * PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
  1034. typedef void (APIENTRY * PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *v);
  1035. typedef void (APIENTRY * PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);
  1036. typedef void (APIENTRY * PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *v);
  1037. typedef void (APIENTRY * PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w);
  1038. typedef void (APIENTRY * PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *v);
  1039. typedef void (APIENTRY * PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  1040. typedef void (APIENTRY * PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *v);
  1041. typedef void (APIENTRY * PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  1042. typedef void (APIENTRY * PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *v);
  1043. typedef void (APIENTRY * PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte x, GLbyte y, GLbyte z);
  1044. typedef void (APIENTRY * PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *v);
  1045. typedef void (APIENTRY * PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
  1046. typedef void (APIENTRY * PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *v);
  1047. typedef void (APIENTRY * PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
  1048. typedef void (APIENTRY * PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *v);
  1049. typedef void (APIENTRY * PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
  1050. typedef void (APIENTRY * PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *v);
  1051. typedef void (APIENTRY * PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
  1052. typedef void (APIENTRY * PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *v);
  1053.  
  1054. #endif /* GL_ATI_vertex_streams */
  1055.  
  1056. /*
  1057. ** GL_ATI_vertex_array_object
  1058. **
  1059. ** Support:
  1060. **   Rage 128         based : Not Supported
  1061. **   Radeon 7xxx      based : Supported
  1062. **   Radeon 8xxx/9000 based : Supported
  1063. **   Radeon 9500/9700 based : Supported
  1064. */
  1065. #ifndef GL_ATI_vertex_array_object
  1066. #define GL_ATI_vertex_array_object              1
  1067.  
  1068. #define GL_STATIC_ATI                           0x8760
  1069. #define GL_DYNAMIC_ATI                          0x8761
  1070. #define GL_PRESERVE_ATI                         0x8762
  1071. #define GL_DISCARD_ATI                          0x8763
  1072.  
  1073. #define GL_OBJECT_BUFFER_SIZE_ATI               0x8764
  1074. #define GL_OBJECT_BUFFER_USAGE_ATI              0x8765
  1075. #define GL_ARRAY_OBJECT_BUFFER_ATI              0x8766
  1076. #define GL_ARRAY_OBJECT_OFFSET_ATI              0x8767
  1077.  
  1078. typedef GLuint (APIENTRY * PFNGLNEWOBJECTBUFFERATIPROC)(GLsizei size, const GLvoid *pointer, GLenum usage);
  1079. typedef GLboolean (APIENTRY * PFNGLISOBJECTBUFFERATIPROC)(GLuint buffer);
  1080. typedef void (APIENTRY * PFNGLUPDATEOBJECTBUFFERATIPROC)(GLuint buffer, GLuint offset, GLsizei size,
  1081.                                                          const GLvoid *pointer, GLenum preserve);
  1082. typedef void (APIENTRY * PFNGLGETOBJECTBUFFERFVATIPROC)(GLuint buffer, GLenum pname, GLfloat *params);
  1083. typedef void (APIENTRY * PFNGLGETOBJECTBUFFERIVATIPROC)(GLuint buffer, GLenum pname, GLint *params);
  1084. typedef void (APIENTRY * PFNGLFREEOBJECTBUFFERATIPROC)(GLuint buffer);
  1085. typedef void (APIENTRY * PFNGLARRAYOBJECTATIPROC)(GLenum array, GLint size, GLenum type,
  1086.                                                   GLsizei stride, GLuint buffer, GLuint offset);
  1087. typedef void (APIENTRY * PFNGLGETARRAYOBJECTFVATIPROC)(GLenum array, GLenum pname, GLfloat *params);
  1088. typedef void (APIENTRY * PFNGLGETARRAYOBJECTIVATIPROC)(GLenum array, GLenum pname, GLint *params);
  1089. typedef void (APIENTRY * PFNGLVARIANTARRAYOBJECTATIPROC)(GLuint id, GLenum type,
  1090.                                                          GLsizei stride, GLuint buffer, GLuint offset);
  1091. typedef void (APIENTRY * PFNGLGETVARIANTARRAYOBJECTFVATIPROC)(GLuint id, GLenum pname, GLfloat *params);
  1092. typedef void (APIENTRY * PFNGLGETVARIANTARRAYOBJECTIVATIPROC)(GLuint id, GLenum pname, GLint *params);
  1093. #endif  /* GL_ATI_vertex_array_object */
  1094.  
  1095. /*
  1096. ** GL_ATI_element_array
  1097. **
  1098. ** Support:
  1099. **   Rage 128         based : Not Supported
  1100. **   Radeon 7xxx      based : Not Supported
  1101. **   Radeon 8xxx/9000 based : Supported
  1102. **   Radeon 9500/9700 based : Supported
  1103. */
  1104. #ifndef GL_ATI_element_array
  1105. #define GL_ATI_element_array            1
  1106.  
  1107. #define GL_ELEMENT_ARRAY_ATI            0x8768
  1108.  
  1109. #define GL_ELEMENT_ARRAY_TYPE_ATI       0x8769
  1110. #define GL_ELEMENT_ARRAY_POINTER_ATI    0x876A
  1111.  
  1112. typedef void (APIENTRY * PFNGLELEMENTPOINTERATIPROC)(GLenum type, const GLvoid *pointer);
  1113. typedef void (APIENTRY * PFNGLDRAWELEMENTARRAYATIPROC)(GLenum mode, GLsizei count);
  1114. typedef void (APIENTRY * PFNGLDRAWRANGEELEMENTARRAYATIPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count);
  1115.  
  1116. #endif /* GL_ATI_element_array */
  1117.  
  1118. /*
  1119. ** GL_ATI_map_object_buffer
  1120. **
  1121. ** Support:
  1122. **   Rage 128         based : Not Supported
  1123. **   Radeon 7xxx      based : Supported
  1124. **   Radeon 8xxx/9000 based : Supported
  1125. **   Radeon 9500/9700 based : Supported
  1126. */
  1127. #ifndef GL_ATI_map_object_buffer
  1128. #define GL_ATI_map_object_buffer                1
  1129.  
  1130. typedef void *(APIENTRY * PFNGLMAPOBJECTBUFFERATIPROC)(GLuint buffer);
  1131. typedef void (APIENTRY * PFNGLUNMAPOBJECTBUFFERATIPROC)(GLuint buffer);
  1132.  
  1133. #endif /* GL_ATI_map_object_buffer */
  1134.  
  1135. /*
  1136. ** GL_ATI_vertex_attrib_array_object
  1137. **
  1138. **  Support:
  1139. **   Rage 128         based : Not Supported
  1140. **   Radeon 7xxx      based : Not Supported
  1141. **   Radeon 8xxx/9000 based : Supported
  1142. **   Radeon 9500/9700 based : Supported
  1143. */
  1144. #ifndef GL_ATI_vertex_attrib_array_object
  1145. #define GL_ATI_vertex_attrib_array_object 1
  1146.  
  1147. typedef void (APIENTRY * PFNGLVERTEXATTRIBARRAYOBJECTATIPROC)(GLuint index, GLint size, GLenum type,
  1148.                                                               GLboolean normalized, GLsizei stride,
  1149.                                                               GLuint buffer, GLuint offset);
  1150. typedef void (APIENTRY * PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC)(GLuint index, GLenum pname,
  1151.                                                                    GLfloat *params);
  1152. typedef void (APIENTRY * PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC)(GLuint index, GLenum pname,
  1153.                                                                    GLint *params);
  1154.  
  1155. #endif /* GL_ATI_vertex_attrib_array_object */
  1156.  
  1157. /*
  1158. ** GL_ATI_texture_float
  1159. **
  1160. ** Support:
  1161. **  Rage 128         based : Not Supported
  1162. **  Radeon 7xxx      based : Not Supported
  1163. **  Radeon 8xxx/9000 based : Not Supported
  1164. **  Radeon 9500/9700 based : Supported
  1165. */
  1166.  
  1167. #ifndef GL_ATI_texture_float
  1168. #define GL_ATI_texture_float                1
  1169.  
  1170. #define GL_RGBA_FLOAT32_ATI                 0x8814
  1171. #define GL_RGB_FLOAT32_ATI                  0x8815
  1172. #define GL_ALPHA_FLOAT32_ATI                0x8816
  1173. #define GL_INTENSITY_FLOAT32_ATI            0x8817
  1174. #define GL_LUMINANCE_FLOAT32_ATI            0x8818
  1175. #define GL_LUMINANCE_ALPHA_FLOAT32_ATI      0x8819
  1176. #define GL_RGBA_FLOAT16_ATI                 0x881A
  1177. #define GL_RGB_FLOAT16_ATI                  0x881B
  1178. #define GL_ALPHA_FLOAT16_ATI                0x881C
  1179. #define GL_INTENSITY_FLOAT16_ATI            0x881D
  1180. #define GL_LUMINANCE_FLOAT16_ATI            0x881E
  1181. #define GL_LUMINANCE_ALPHA_FLOAT16_ATI      0x881F
  1182.  
  1183. #endif  /* GL_ATI_texture_float */
  1184.  
  1185. /*
  1186. ** GL_ATI_draw_buffers
  1187. **
  1188. ** Support:
  1189. **  Rage 128         based : Not Supported
  1190. **  Radeon 7xxx      based : Not Supported
  1191. **  Radeon 8xxx/9000 based : Not Supported
  1192. **  Radeon 9500/9700 based : Supported
  1193. */
  1194.  
  1195. #ifndef GL_ATI_draw_buffers
  1196. #define GL_ATI_draw_buffers     1
  1197.  
  1198. #define GL_MAX_DRAW_BUFFERS_ATI 0x8824
  1199. #define GL_DRAW_BUFFER0_ATI     0x8825
  1200. #define GL_DRAW_BUFFER1_ATI     0x8826
  1201. #define GL_DRAW_BUFFER2_ATI     0x8827
  1202. #define GL_DRAW_BUFFER3_ATI     0x8828
  1203. #define GL_DRAW_BUFFER4_ATI     0x8829
  1204. #define GL_DRAW_BUFFER5_ATI     0x882A
  1205. #define GL_DRAW_BUFFER6_ATI     0x882B
  1206. #define GL_DRAW_BUFFER7_ATI     0x882C
  1207. #define GL_DRAW_BUFFER8_ATI     0x882D
  1208. #define GL_DRAW_BUFFER9_ATI     0x882E
  1209. #define GL_DRAW_BUFFER10_ATI    0x882F
  1210. #define GL_DRAW_BUFFER11_ATI    0x8830
  1211. #define GL_DRAW_BUFFER12_ATI    0x8831
  1212. #define GL_DRAW_BUFFER13_ATI    0x8832
  1213. #define GL_DRAW_BUFFER14_ATI    0x8833
  1214. #define GL_DRAW_BUFFER15_ATI    0x8834
  1215.  
  1216. typedef void (APIENTRY * PFNGLDRAWBUFFERSATIPROC) (GLsizei n, const GLenum *bufs);
  1217.  
  1218. #endif /* GL_ATI_draw_buffers */
  1219.  
  1220. /*
  1221. ** GL_ATI_texture_env_combine3
  1222. **
  1223. ** Support:
  1224. **  Rage 128         based : Not Supported
  1225. **  Radeon 7xxx      based : Supported
  1226. **  Radeon 8xxx/9000 based : Supported
  1227. **  Radeon 9500/9700 based : Supported
  1228. */
  1229. #ifndef GL_ATI_texture_env_combine3
  1230. #define GL_ATI_texture_env_combine3
  1231.  
  1232. #define GL_ATI_texture_env_combine3
  1233. #define GL_MODULATE_ADD_ATI                             0x8744
  1234. #define GL_MODULATE_SIGNED_ADD_ATI                      0x8745
  1235. #define GL_MODULATE_SUBTRACT_ATI                        0x8746
  1236.  
  1237. #endif /* GL_ATI_texture_env_combine3 */
  1238.  
  1239. /*
  1240. **  ATIX EXTENSIONS
  1241. */
  1242.  
  1243. /*
  1244. ** GL_ATIX_texture_env_route
  1245. **
  1246. ** Support
  1247. **   Rage 128         based : Not Supported
  1248. **   Radeon 7xxx      based : Supported
  1249. **   Radeon 8xxx/9000 based : Supported
  1250. **   Radeon 9500/9700 based : Supported
  1251. */
  1252. #ifndef GL_ATIX_texture_env_route
  1253. #define GL_ATIX_texture_env_route 1
  1254.  
  1255. #define GL_SECONDARY_COLOR_ATIX                 0x8747
  1256. #define GL_TEXTURE_OUTPUT_RGB_ATIX              0x8748
  1257. #define GL_TEXTURE_OUTPUT_ALPHA_ATIX            0x8749
  1258.  
  1259. #endif /* GL_ATIX_texture_env_route */
  1260.  
  1261. /*
  1262. ** GL_ATIX_vertex_shader_output_point_size
  1263. **
  1264. **  Support:
  1265. **   Rage 128         based : Not Supported
  1266. **   Radeon 7xxx      based : Not Supported
  1267. **   Radeon 8xxx/9000 based : Supported
  1268. **   Radeon 9500/9700 based : Supported
  1269. */
  1270. #ifndef GL_ATIX_vertex_shader_output_point_size
  1271. #define GL_ATIX_vertex_shader_output_point_size 1
  1272.  
  1273. #define GL_OUTPUT_POINT_SIZE_ATIX       0x610E
  1274.  
  1275. #endif /* GL_ATIX_vertex_shader_output_point_size */
  1276.  
  1277. /*
  1278. **  EXT EXTENSIONS
  1279. */
  1280. /*
  1281. ** GL_EXT_stencil_wrap
  1282. **
  1283. ** Support:
  1284. **   Rage 128         based : Supported
  1285. **   Radeon 7xxx      based : Supported
  1286. **   Radeon 8xxx/9000 based : Supported
  1287. **   Radeon 9500/9700 based : Supported
  1288. */
  1289. #ifndef GL_EXT_stencil_wrap
  1290. #define GL_EXT_stencil_wrap                                     1
  1291.  
  1292. #define GL_INCR_WRAP_EXT                                        0x8507
  1293. #define GL_DECR_WRAP_EXT                                        0x8508
  1294.  
  1295. #endif  /* GL_EXT_stencil_wrap */
  1296.  
  1297. /*
  1298. ** GL_EXT_abgr
  1299. **
  1300. **  Support:
  1301. **   Rage 128         based : Supported
  1302. **   Radeon 7xxx      based : Supported
  1303. **   Radeon 8xxx/9000 based : Supported
  1304. **   Radeon 9500/9700 based : Supported
  1305. */
  1306. #ifndef GL_EXT_abgr
  1307. #define GL_EXT_abgr                         1
  1308.  
  1309. #define GL_ABGR_EXT                         0x8000
  1310.  
  1311. #endif /* GL_EXT_abgr */
  1312.  
  1313.  
  1314. /*
  1315. ** GL_EXT_bgra
  1316. **
  1317. **  Support:
  1318. **   Rage 128         based : Supported
  1319. **   Radeon 7xxx      based : Supported
  1320. **   Radeon 8xxx/9000 based : Supported
  1321. **   Radeon 9500/9700 based : Supported
  1322. */
  1323. #ifndef GL_EXT_bgra
  1324. #define GL_EXT_bgra                         1
  1325.  
  1326. #define GL_BGR_EXT                          0x80E0
  1327. #define GL_BGRA_EXT                         0x80E1
  1328.  
  1329. #endif /* GL_EXT_bgra */
  1330.  
  1331. /*
  1332. ** GL_EXT_blend_color
  1333. **
  1334. ** Support:
  1335. **   Rage 128         based : Not Supported
  1336. **   Radeon 7xxx      based : Not Supported
  1337. **   Radeon 8xxx/9000 based : Supported
  1338. **   Radeon 9500/9700 based : Supported
  1339. */
  1340. #ifndef GL_EXT_blend_color
  1341. #define GL_EXT_blend_color              1
  1342.  
  1343. #define GL_CONSTANT_COLOR_EXT           0x8001
  1344. #define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002
  1345. #define GL_CONSTANT_ALPHA_EXT           0x8003
  1346. #define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004
  1347. #define GL_BLEND_COLOR_EXT              0x8005
  1348.  
  1349. typedef void (APIENTRY * PFNGLBLENDCOLOREXTPROC)  (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
  1350.  
  1351. #endif  /* GL_EXT_blend_color */
  1352.  
  1353. /*
  1354. ** GL_EXT_blend_func_separate
  1355. **
  1356. ** Support:
  1357. **   Rage 128         based : Not Supported
  1358. **   Radeon 7xxx      based : Not Supported
  1359. **   Radeon 8xxx/9000 based : Supported
  1360. **   Radeon 9500/9700 based : Supported
  1361. */
  1362.  
  1363. #ifndef GL_EXT_blend_func_separate
  1364. #define GL_EXT_blend_func_separate  1
  1365.  
  1366. #define GL_BLEND_DST_RGB_EXT    0x80C8
  1367. #define GL_BLEND_SRC_RGB_EXT    0x80C9
  1368. #define GL_BLEND_DST_ALPHA_EXT  0x80CA
  1369. #define GL_BLEND_SRC_ALPHA_EXT  0x80CB
  1370.  
  1371. typedef void (APIENTRY * PFNGLBLENDFUNCSEPARATEEXTPROC)  (GLenum sfactorRGB, GLenum dfactorRGB,
  1372.                                                                                                                   GLenum sfactorAlpha, GLenum dfactorAlpha);
  1373. #endif /* GL_EXT_blend_func_separate */
  1374.  
  1375. /*
  1376. ** GL_EXT_blend_minmax
  1377. **
  1378. ** Support:
  1379. **   Rage 128         based : Not Supported
  1380. **   Radeon 7xxx      based : Not Supported
  1381. **   Radeon 8xxx/9000 based : Supported
  1382. **   Radeon 9500/9700 based : Supported
  1383. */
  1384. #ifndef GL_EXT_blend_minmax
  1385. #define GL_EXT_blend_minmax     1
  1386.  
  1387. #define GL_FUNC_ADD_EXT         0x8006
  1388. #define GL_MIN_EXT              0x8007
  1389. #define GL_MAX_EXT              0x8008
  1390. #define GL_BLEND_EQUATION_EXT   0x8009
  1391.  
  1392. typedef void (APIENTRY * PFNGLBLENDEQUATIONEXTPROC)  (GLenum mode);
  1393.  
  1394. #endif /* GL_EXT_blend_minmax */
  1395.  
  1396. /*
  1397. ** GL_EXT_blend_subtract
  1398. **
  1399. ** Support:
  1400. **   Rage 128         based : Not Supported
  1401. **   Radeon 7xxx      based : Not Supported
  1402. **   Radeon 8xxx/9000 based : Supported
  1403. **   Radeon 9500/9700 based : Supported
  1404. */
  1405. #ifndef GL_EXT_blend_subtract
  1406. #define GL_EXT_blend_subtract                1
  1407.  
  1408. #define GL_FUNC_SUBTRACT_EXT                 0x800A
  1409. #define GL_FUNC_REVERSE_SUBTRACT_EXT         0x800B
  1410.  
  1411. #endif /* GL_EXT_blend_subtract */
  1412.  
  1413. /*
  1414. ** GL_EXT_clip_volume_hint
  1415. **
  1416. **  Support:
  1417. **   Rage 128         based : Not Supported
  1418. **   Radeon 7xxx      based : Supported
  1419. **   Radeon 8xxx/9000 based : Supported
  1420. **   Radeon 9500/9700 based : Supported
  1421. */
  1422. #ifndef GL_EXT_clip_volume_hint
  1423. #define GL_EXT_clip_volume_hint             1
  1424.  
  1425. #define GL_CLIP_VOLUME_CLIPPING_HINT_EXT    0x80F0
  1426.  
  1427. #endif /* GL_EXT_clip_volume_hint */
  1428.  
  1429. /*
  1430. ** GL_EXT_compiled_vertex_array
  1431. **
  1432. **  Support:
  1433. **   Rage 128         based : Supported
  1434. **   Radeon 7xxx      based : Supported
  1435. **   Radeon 8xxx/9000 based : Supported
  1436. **   Radeon 9500/9700 based : Supported
  1437. */
  1438. #ifndef GL_EXT_compiled_vertex_array
  1439. #define GL_EXT_compiled_vertex_array        1
  1440.  
  1441. #define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT     0x81A8
  1442. #define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT     0x81A9
  1443.  
  1444. typedef void (APIENTRY * PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count);
  1445. typedef void (APIENTRY * PFNGLUNLOCKARRAYSEXTPROC) (void);
  1446.  
  1447. #endif /* GL_EXT_compiled_vertex_array */
  1448.  
  1449. /*
  1450. ** GL_EXT_draw_range_elements
  1451. **
  1452. **  Support:
  1453. **   Rage 128         based : Supported
  1454. **   Radeon 7xxx      based : Supported
  1455. **   Radeon 8xxx/9000 based : Supported
  1456. **   Radeon 9500/9700 based : Supported
  1457. */
  1458. #ifndef GL_EXT_draw_range_elements
  1459. #define GL_EXT_draw_range_elements           1
  1460.  
  1461. #define GL_MAX_ELEMENTS_VERTICES_EXT         0x80E8
  1462. #define GL_MAX_ELEMENTS_INDICES_EXT          0x80E9
  1463.  
  1464. typedef void (APIENTRY * PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum  mode, GLuint start,
  1465.                                                          GLuint end, GLsizei count,
  1466.                                                          GLenum type, const GLvoid *indices);
  1467.  
  1468. #endif /* GL_EXT_draw_range_elements */
  1469.  
  1470. /*
  1471. ** GL_EXT_fog_coord
  1472. **
  1473. **  Support:
  1474. **   Rage 128         based : Supported
  1475. **   Radeon 7xxx      based : Supported
  1476. **   Radeon 8xxx/9000 based : Supported
  1477. **   Radeon 9500/9700 based : Supported
  1478. */
  1479. #ifndef GL_EXT_fog_coord
  1480. #define GL_EXT_fog_coord                     1
  1481.  
  1482. #define GL_FOG_COORDINATE_SOURCE_EXT         0x8450
  1483. #define GL_FOG_COORDINATE_EXT                0x8451
  1484. #define GL_FRAGMENT_DEPTH_EXT                0x8452
  1485. #define GL_CURRENT_FOG_COORDINATE_EXT        0x8453
  1486. #define GL_FOG_COORDINATE_ARRAY_TYPE_EXT     0x8454
  1487. #define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT   0x8455
  1488. #define GL_FOG_COORDINATE_ARRAY_POINTER_EXT  0x8456
  1489. #define GL_FOG_COORDINATE_ARRAY_EXT          0x8457
  1490.  
  1491. typedef void (APIENTRY * PFNGLFOGCOORDFEXTPROC) (GLfloat f);
  1492. typedef void (APIENTRY * PFNGLFOGCOORDDEXTPROC) (GLdouble f);
  1493. typedef void (APIENTRY * PFNGLFOGCOORDFVEXTPROC) (const GLfloat *v);
  1494. typedef void (APIENTRY * PFNGLFOGCOORDDVEXTPROC) (const GLdouble *v);
  1495. typedef void (APIENTRY * PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, void *pointer);
  1496.  
  1497. #endif /* GL_EXT_fog_coord */
  1498.  
  1499. /*
  1500. ** GL_EXT_packed_pixels
  1501. **
  1502. **  Support:
  1503. **   Rage 128         based : Supported
  1504. **   Radeon 7xxx      based : Supported
  1505. **   Radeon 8xxx/9000 based : Supported
  1506. **   Radeon 9500/9700 based : Supported
  1507. */
  1508. #ifndef GL_EXT_packed_pixels
  1509. #define GL_EXT_packed_pixels                 1
  1510.  
  1511. #define GL_UNSIGNED_BYTE_3_3_2_EXT           0x8032
  1512. #define GL_UNSIGNED_SHORT_4_4_4_4_EXT        0x8033
  1513. #define GL_UNSIGNED_SHORT_5_5_5_1_EXT        0x8034
  1514. #define GL_UNSIGNED_INT_8_8_8_8_EXT          0x8035
  1515. #define GL_UNSIGNED_INT_10_10_10_2_EXT       0x8036
  1516.  
  1517. #endif /* GL_EXT_packed_pixels */
  1518.  
  1519. /*
  1520. ** GL_EXT_point_parameters
  1521. **
  1522. **  Support:
  1523. **   Rage 128         based : Not Supported
  1524. **   Radeon 7xxx      based : Supported
  1525. **   Radeon 8xxx/9000 based : Supported
  1526. **   Radeon 9500/9700 based : Supported
  1527. */
  1528. #ifndef GL_EXT_point_parameters
  1529. #define GL_EXT_point_parameters              1
  1530.  
  1531. #define GL_POINT_SIZE_MIN_EXT                0x8126
  1532. #define GL_POINT_SIZE_MAX_EXT                0x8127
  1533. #define GL_POINT_FADE_THRESHOLD_SIZE_EXT     0x8128
  1534. #define GL_DISTANCE_ATTENUATION_EXT          0x8129
  1535.  
  1536. typedef void (APIENTRY * PFNGLPOINTPARAMETERFEXTPROC)  (GLenum pname, GLfloat param);
  1537. typedef void (APIENTRY * PFNGLPOINTPARAMETERFVEXTPROC)  (GLenum pname, GLfloat *params);
  1538. typedef void (APIENTRY * PFNGLPOINTPARAMETERIEXTPROC)  (GLenum pname, GLint param);
  1539. typedef void (APIENTRY * PFNGLPOINTPARAMETERIVEXTPROC)  (GLenum pname, GLint *params);
  1540.  
  1541. #endif /* GL_EXT_point_parameters */
  1542.  
  1543. /*
  1544. ** GL_ARB_point_parameters
  1545. **
  1546. **  Support:
  1547. **   Rage 128         based : Not Supported
  1548. **   Radeon 7xxx      based : Supported
  1549. **   Radeon 8xxx/9000 based : Supported
  1550. **   Radeon 9500/9700 based : Supported
  1551. */
  1552. #ifndef GL_ARB_point_parameters
  1553. #define GL_ARB_point_parameters              1
  1554.  
  1555. #define GL_POINT_SIZE_MIN_ARB                0x8126
  1556. #define GL_POINT_SIZE_MAX_ARB                0x8127
  1557. #define GL_POINT_FADE_THRESHOLD_SIZE_ARB     0x8128
  1558. #define GL_POINT_DISTANCE_ATTENUATION_ARB    0x8129
  1559.  
  1560. typedef void (APIENTRY * PFNGLPOINTPARAMETERFARBPROC)  (GLenum pname, GLfloat param);
  1561. typedef void (APIENTRY * PFNGLPOINTPARAMETERFVARBPROC)  (GLenum pname, GLfloat *params);
  1562. typedef void (APIENTRY * PFNGLPOINTPARAMETERIARBPROC)  (GLenum pname, GLint param);
  1563. typedef void (APIENTRY * PFNGLPOINTPARAMETERIVARBPROC)  (GLenum pname, GLint *params);
  1564.  
  1565. #endif /* GL_ARB_point_parameters */
  1566.  
  1567. /*
  1568. ** GL_EXT_rescale_normal
  1569. **
  1570. **  Support:
  1571. **   Rage 128         based : Supported
  1572. **   Radeon 7xxx      based : Supported
  1573. **   Radeon 8xxx/9000 based : Supported
  1574. **   Radeon 9500/9700 based : Supported
  1575. */
  1576. #ifndef GL_EXT_rescale_normal
  1577. #define GL_EXT_rescale_normal                1
  1578.  
  1579. #define GL_RESCALE_NORMAL_EXT                0x803A
  1580.  
  1581. #endif /* GL_EXT_rescale_normal */
  1582.  
  1583. /*
  1584. ** GL_EXT_separate_specular_color
  1585. **
  1586. **  Support:
  1587. **   Rage 128         based : Supported
  1588. **   Radeon 7xxx      based : Supported
  1589. **   Radeon 8xxx/9000 based : Supported
  1590. **   Radeon 9500/9700 based : Supported
  1591. */
  1592. #ifndef GL_EXT_separate_specular_color
  1593. #define GL_EXT_separate_specular_color       1
  1594.  
  1595. #define GL_LIGHT_MODEL_COLOR_CONTROL_EXT     0x81F8
  1596. #define GL_SINGLE_COLOR_EXT                  0x81F9
  1597. #define GL_SEPARATE_SPECULAR_COLOR_EXT       0x81FA
  1598.  
  1599. #endif /* GL_EXT_separate_specular_color */
  1600.  
  1601. /*
  1602. ** GL_EXT_secondary_color
  1603. **
  1604. **  Support:
  1605. **   Rage 128         based : Supported
  1606. **   Radeon 7xxx      based : Supported
  1607. **   Radeon 8xxx/9000 based : Supported
  1608. **   Radeon 9500/9700 based : Supported
  1609. */
  1610. #ifndef GL_EXT_secondary_color
  1611. #define GL_EXT_secondary_color               1
  1612.  
  1613. #define GL_COLOR_SUM_EXT                     0x8458
  1614. #define GL_CURRENT_SECONDARY_COLOR_EXT       0x8459
  1615. #define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT    0x845A
  1616. #define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT    0x845B
  1617. #define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT  0x845C
  1618. #define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D
  1619. #define GL_SECONDARY_COLOR_ARRAY_EXT         0x845E
  1620.  
  1621. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat r, GLfloat g, GLfloat b);
  1622. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble r, GLdouble g, GLdouble b);
  1623. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte r, GLbyte g, GLbyte b);
  1624. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort r, GLshort g, GLshort b);
  1625. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3IEXTPROC) (GLint r, GLint g, GLint b);
  1626. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UBEXTPROC)(GLubyte r, GLubyte g, GLubyte b);
  1627. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3USEXTPROC)(GLushort r, GLushort g, GLushort b);
  1628. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UIEXTPROC)(GLuint r, GLuint g, GLuint b);
  1629.  
  1630. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);
  1631. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v);
  1632. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v);
  1633. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v);
  1634. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v);
  1635. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UBVEXTPROC)(const GLubyte *v);
  1636. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3USVEXTPROC)(const GLushort *v);
  1637. typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UIVEXTPROC)(const GLuint *v);
  1638.  
  1639. typedef void (APIENTRY * PFNGLSECONDARYCOLORPOINTEREXTPROC)(GLint size, GLenum type, GLsizei stride, void *pointer);
  1640.  
  1641. #endif /* GL_EXT_secondary_color */
  1642.  
  1643.  
  1644. /*
  1645. ** GL_EXT_texgen_reflection
  1646. **
  1647. **  Support:
  1648. **   Rage 128         based : Supported
  1649. **   Radeon 7xxx      based : Supported
  1650. **   Radeon 8xxx/9000 based : Supported
  1651. **   Radeon 9500/9700 based : Supported
  1652. */
  1653. #ifndef GL_EXT_texgen_reflection
  1654. #define GL_EXT_texgen_reflection              1
  1655.  
  1656. #define GL_NORMAL_MAP_EXT                     0x8511
  1657. #define GL_REFLECTION_MAP_EXT                 0x8512
  1658.  
  1659. #endif /* GL_EXT_texgen_reflection */
  1660.  
  1661. /*
  1662. ** GL_EXT_texture_cube_map
  1663. **
  1664. **  Support:
  1665. **   Rage 128         based : Not Supported
  1666. **   Radeon 7xxx      based : Supported
  1667. **   Radeon 8xxx/9000 based : Supported
  1668. **   Radeon 9500/9700 based : Supported
  1669. */
  1670. #ifndef GL_EXT_texture_cube_map
  1671. #define GL_EXT_texture_cube_map              1
  1672.  
  1673. #define GL_TEXTURE_CUBE_MAP_EXT              0x8513
  1674. #define GL_TEXTURE_BINDING_CUBE_MAP_EXT      0x8514
  1675. #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT   0x8515
  1676. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT   0x8516
  1677. #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT   0x8517
  1678. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT   0x8518
  1679. #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT   0x8519
  1680. #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT   0x851A
  1681. #define GL_PROXY_TEXTURE_CUBE_MAP_EXT        0x851B
  1682. #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT     0x851C
  1683.  
  1684. #endif /* GL_EXT_texture_cube_map */
  1685.  
  1686. /*
  1687. ** GL_EXT_texture3D
  1688. **
  1689. ** Support:
  1690. **   Rage 128         based : Supported (software)
  1691. **   Radeon 7xxx      based : Supported
  1692. **   Radeon 8xxx/9000 based : Supported
  1693. **   Radeon 9500/9700 based : Supported
  1694. */
  1695. #ifndef GL_EXT_texture3D
  1696. #define GL_EXT_texture3D                     1
  1697.  
  1698. #define GL_TEXTURE_BINDING_3D_EXT            0x806A
  1699. #define GL_PACK_SKIP_IMAGES_EXT              0x806B
  1700. #define GL_PACK_IMAGE_HEIGHT_EXT             0x806C
  1701. #define GL_UNPACK_SKIP_IMAGES_EXT            0x806D
  1702. #define GL_UNPACK_IMAGE_HEIGHT_EXT           0x806E
  1703. #define GL_TEXTURE_3D_EXT                    0x806F
  1704. #define GL_PROXY_TEXTURE_3D_EXT              0x8070
  1705. #define GL_TEXTURE_DEPTH_EXT                 0x8071
  1706. #define GL_TEXTURE_WRAP_R_EXT                0x8072
  1707. #define GL_MAX_3D_TEXTURE_SIZE_EXT           0x8073
  1708.  
  1709.  
  1710. typedef void (APIENTRY * PFNGLTEXIMAGE3DEXTPROC)(GLenum target, GLint level, GLenum internalformat,
  1711.                                                  GLsizei width, GLsizei height, GLsizei depth,
  1712.                                                  GLint border, GLenum format, GLenum type,
  1713.                                                  const GLvoid* pixels);
  1714.  
  1715. typedef void (APIENTRY * PFNGLTEXSUBIMAGE3DPROC)(GLenum target, GLint lod,
  1716.                                                  GLint xoffset, GLint yoffset, GLint zoffset,
  1717.                                                  GLsizei w, GLsizei h, GLsizei d,
  1718.                                                  GLenum format, GLenum type, const GLvoid *buf);
  1719.  
  1720. typedef void (APIENTRY * PFNGLCOPYTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset,
  1721.                                                      GLint yoffset, GLint zoffset, GLint x,
  1722.                                                      GLint y, GLsizei width, GLsizei height);
  1723.  
  1724. #endif /* GL_EXT_texture3D */
  1725.  
  1726. /*
  1727. ** GL_EXT_texture_compression_s3tc
  1728. **
  1729. ** Support:
  1730. **   Rage 128         based : Not Supported
  1731. **   Radeon 7xxx      based : Supported
  1732. **   Radeon 8xxx/9000 based : Supported
  1733. **   Radeon 9500/9700 based : Supported
  1734. */
  1735. #ifndef GL_EXT_texture_compression_s3tc
  1736. #define GL_EXT_texture_compression_s3tc      1
  1737.  
  1738. #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT      0x83F0
  1739. #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT     0x83F1
  1740. #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT     0x83F2
  1741. #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT     0x83F3
  1742.  
  1743. #endif /* GL_EXT_texture_compression_s3tc */
  1744.  
  1745. /*
  1746. ** GL_EXT_texture_edge_clamp
  1747. **
  1748. **  Support:
  1749. **   Rage 128         based : Supported
  1750. **   Radeon 7xxx      based : Supported
  1751. **   Radeon 8xxx/9000 based : Supported
  1752. **   Radeon 9500/9700 based : Supported
  1753. */
  1754. #ifndef GL_EXT_texture_edge_clamp
  1755. #define GL_EXT_texture_edge_clamp            1
  1756.  
  1757. #define GL_CLAMP_TO_EDGE_EXT                 0x812F
  1758.  
  1759. #endif /* GL_EXT_texture_edge_clamp */
  1760.  
  1761. /*
  1762. ** GL_EXT_texture_env_add
  1763. **
  1764. **  Support:
  1765. **   Rage 128         based : Supported
  1766. **   Radeon 7xxx      based : Supported
  1767. **   Radeon 8xxx/9000 based : Supported
  1768. **   Radeon 9500/9700 based : Supported
  1769. */
  1770. #ifndef GL_EXT_texture_env_add
  1771. #define GL_EXT_texture_env_add               1
  1772.  
  1773. #endif /* GL_EXT_texture_env_add */
  1774.  
  1775. /*
  1776. ** GL_EXT_texture_env_combine
  1777. **
  1778. **  Support:
  1779. **   Rage 128         based : Supported
  1780. **   Radeon 7xxx      based : Supported
  1781. **   Radeon 8xxx/9000 based : Supported
  1782. **   Radeon 9500/9700 based : Supported
  1783. */
  1784. #ifndef GL_EXT_texture_env_combine
  1785. #define GL_EXT_texture_env_combine           1
  1786.  
  1787. #define GL_COMBINE_EXT                       0x8570
  1788. #define GL_COMBINE_RGB_EXT                   0x8571
  1789. #define GL_COMBINE_ALPHA_EXT                 0x8572
  1790. #define GL_SOURCE0_RGB_EXT                   0x8580
  1791. #define GL_SOURCE1_RGB_EXT                   0x8581
  1792. #define GL_SOURCE2_RGB_EXT                   0x8582
  1793. #define GL_SOURCE0_ALPHA_EXT                 0x8588
  1794. #define GL_SOURCE1_ALPHA_EXT                 0x8589
  1795. #define GL_SOURCE2_ALPHA_EXT                 0x858A
  1796. #define GL_OPERAND0_RGB_EXT                  0x8590
  1797. #define GL_OPERAND1_RGB_EXT                  0x8591
  1798. #define GL_OPERAND2_RGB_EXT                  0x8592
  1799. #define GL_OPERAND0_ALPHA_EXT                0x8598
  1800. #define GL_OPERAND1_ALPHA_EXT                0x8599
  1801. #define GL_OPERAND2_ALPHA_EXT                0x859A
  1802. #define GL_RGB_SCALE_EXT                     0x8573
  1803. #define GL_ADD_SIGNED_EXT                    0x8574
  1804. #define GL_INTERPOLATE_EXT                   0x8575
  1805. #define GL_CONSTANT_EXT                      0x8576
  1806. #define GL_PRIMARY_COLOR_EXT                 0x8577
  1807. #define GL_PREVIOUS_EXT                      0x8578
  1808.  
  1809. #endif /* GL_EXT_texture_env_combine */
  1810.  
  1811. /*
  1812. ** GL_EXT_texture_env_dot3
  1813. **
  1814. ** Support:
  1815. **   Rage 128         based : Not Supported
  1816. **   Radeon 7xxx      based : Supported
  1817. **   Radeon 8xxx/9000 based : Supported
  1818. **   Radeon 9500/9700 based : Supported
  1819. */
  1820. #ifndef GL_EXT_texture_env_dot3
  1821. #define GL_EXT_texture_env_dot3 1
  1822.  
  1823. #define GL_DOT3_RGB_EXT  0x8740
  1824. #define GL_DOT3_RGBA_EXT 0x8741
  1825.  
  1826. #endif /* GL_EXT_texture_env_dot3 */
  1827.  
  1828. /*
  1829. ** GL_EXT_texture_lod_bias
  1830. **
  1831. ** Support:
  1832. **   Rage 128         based : Not Supported
  1833. **   Radeon 7xxx      based : Supported
  1834. **   Radeon 8xxx/9000 based : Supported
  1835. **   Radeon 9500/9700 based : Supported
  1836. */
  1837. #ifndef GL_EXT_texture_lod_bias
  1838. #define GL_EXT_texture_lod_bias              1
  1839.  
  1840. #define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500
  1841. #define GL_TEXTURE_LOD_BIAS_EXT       0x8501
  1842. #define GL_MAX_TEXTURE_LOD_BIAS_EXT   0x84FD
  1843.  
  1844. #endif /* GL_EXT_texture_lod_bias */
  1845.  
  1846. /*
  1847. ** GL_EXT_texture_filter_anisotropic
  1848. **
  1849. ** Support:
  1850. **
  1851. **   Rage 128         based : Not Supported
  1852. **   Radeon 7xxx      based : Supported
  1853. **   Radeon 8xxx/9000 based : Supported
  1854. **   Radeon 9500/9700 based : Supported
  1855. */
  1856. #ifndef GL_EXT_texture_filter_anisotropic
  1857. #define GL_EXT_texture_filter_anisotropic    1
  1858.  
  1859. #define GL_TEXTURE_MAX_ANISOTROPY_EXT        0x84FE
  1860. #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT    0x84FF
  1861.  
  1862. #endif /* GL_EXT_texture_filter_anisotropic */
  1863.  
  1864. /*
  1865. ** GL_EXT_texture_object
  1866. **
  1867. **  Support:
  1868. **   Rage 128         based : Supported
  1869. **   Radeon 7xxx      based : Supported
  1870. **   Radeon 8xxx/9000 based : Supported
  1871. **   Radeon 9500/9700 based : Supported
  1872. */
  1873. #ifndef GL_EXT_texture_object
  1874. #define GL_EXT_texture_object              1
  1875.  
  1876. #define GL_TEXTURE_PRIORITY_EXT            0x8066
  1877. #define GL_TEXTURE_RESIDENT_EXT            0x8067
  1878. #define GL_TEXTURE_1D_BINDING_EXT          0x8068
  1879. #define GL_TEXTURE_2D_BINDING_EXT          0x8069
  1880. #define GL_TEXTURE_3D_BINDING_EXT          0x806A
  1881.  
  1882. typedef void (APIENTRY * PFNGLGENTEXTURESEXTPROC) ( GLsizei n, GLuint *textures);
  1883. typedef void (APIENTRY * PFNGLDELETETEXTURESEXTPROC) ( GLsizei n, const GLuint *textures);
  1884. typedef void (APIENTRY * PFNGLBINDTEXTUREEXTPROC) ( GLenum target, GLuint texture);
  1885. typedef void (APIENTRY * PFNGLPRIORITIZETEXTURESEXTPROC) ( GLsizei n, const GLuint *textures, const GLclampf *priorities);
  1886. typedef GLboolean (APIENTRY * PFNGLARETEXTURESRESIDENTEXTPROC) ( GLsizei n, const GLuint *textures, GLboolean *residences);
  1887. typedef GLboolean (APIENTRY * PFNGLISTEXTUREEXTPROC) ( GLuint texture);
  1888.  
  1889. #endif /* GL_EXT_texture_object */
  1890.  
  1891. /*
  1892. ** GL_EXT_texture_rectangle
  1893. **
  1894. **  Support:
  1895. **   Rage 128         based : Not Supported
  1896. **   Radeon 7xxx      based : Supported
  1897. **   Radeon 8xxx/9000 based : Supported
  1898. **   Radeon 9500/9700 based : Supported
  1899. */
  1900. #ifndef GL_EXT_texture_rectangle
  1901. #define GL_EXT_texture_rectangle            1
  1902.  
  1903. #define GL_TEXTURE_RECTANGLE_EXT            0x84F5
  1904. #define GL_TEXTURE_BINDING_RECTANGLE_EXT    0x84F6
  1905. #define GL_PROXY_TEXTURE_RECTANGLE_EXT      0x84F7
  1906. #define GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT   0x84F8
  1907.  
  1908. #endif /* GL_EXT_texture_rectangle */
  1909.  
  1910.  
  1911. /*
  1912. ** GL_EXT_vertex_array
  1913. **
  1914. **  Support:
  1915. **   Rage 128         based : Supported
  1916. **   Radeon 7xxx      based : Supported
  1917. **   Radeon 8xxx/9000 based : Supported
  1918. **   Radeon 9500/9700 based : Supported
  1919. */
  1920. #ifndef GL_EXT_vertex_array
  1921. #define GL_EXT_vertex_array                 1
  1922.  
  1923. #define GL_VERTEX_ARRAY_EXT                 0x8074
  1924. #define GL_NORMAL_ARRAY_EXT                 0x8075
  1925. #define GL_COLOR_ARRAY_EXT                  0x8076
  1926. #define GL_INDEX_ARRAY_EXT                  0x8077
  1927. #define GL_TEXTURE_COORD_ARRAY_EXT          0x8078
  1928. #define GL_EDGE_FLAG_ARRAY_EXT              0x8079
  1929. #define GL_VERTEX_ARRAY_SIZE_EXT            0x807A
  1930. #define GL_VERTEX_ARRAY_TYPE_EXT            0x807B
  1931. #define GL_VERTEX_ARRAY_STRIDE_EXT          0x807C
  1932. #define GL_VERTEX_ARRAY_COUNT_EXT           0x807D
  1933. #define GL_NORMAL_ARRAY_TYPE_EXT            0x807E
  1934. #define GL_NORMAL_ARRAY_STRIDE_EXT          0x807F
  1935. #define GL_NORMAL_ARRAY_COUNT_EXT           0x8080
  1936. #define GL_COLOR_ARRAY_SIZE_EXT             0x8081
  1937. #define GL_COLOR_ARRAY_TYPE_EXT             0x8082
  1938. #define GL_COLOR_ARRAY_STRIDE_EXT           0x8083
  1939. #define GL_COLOR_ARRAY_COUNT_EXT            0x8084
  1940. #define GL_INDEX_ARRAY_TYPE_EXT             0x8085
  1941. #define GL_INDEX_ARRAY_STRIDE_EXT           0x8086
  1942. #define GL_INDEX_ARRAY_COUNT_EXT            0x8087
  1943. #define GL_TEXTURE_COORD_ARRAY_SIZE_EXT     0x8088
  1944. #define GL_TEXTURE_COORD_ARRAY_TYPE_EXT     0x8089
  1945. #define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT   0x808A
  1946. #define GL_TEXTURE_COORD_ARRAY_COUNT_EXT    0x808B
  1947. #define GL_EDGE_FLAG_ARRAY_STRIDE_EXT       0x808C
  1948. #define GL_EDGE_FLAG_ARRAY_COUNT_EXT        0x808D
  1949. #define GL_VERTEX_ARRAY_POINTER_EXT         0x808E
  1950. #define GL_NORMAL_ARRAY_POINTER_EXT         0x808F
  1951. #define GL_COLOR_ARRAY_POINTER_EXT          0x8090
  1952. #define GL_INDEX_ARRAY_POINTER_EXT          0x8091
  1953. #define GL_TEXTURE_COORD_ARRAY_POINTER_EXT  0x8092
  1954. #define GL_EDGE_FLAG_ARRAY_POINTER_EXT      0x8093
  1955.  
  1956. typedef void (APIENTRY * PFNGLARRAYELEMENTEXTPROC) (GLint i);
  1957. typedef void (APIENTRY * PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
  1958. typedef void (APIENTRY * PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count);
  1959. typedef void (APIENTRY * PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean *pointer);
  1960. typedef void (APIENTRY * PFNGLGETPOINTERVEXTPROC) (GLenum pname, GLvoid* *params);
  1961. typedef void (APIENTRY * PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
  1962. typedef void (APIENTRY * PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
  1963. typedef void (APIENTRY * PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
  1964. typedef void (APIENTRY * PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
  1965.  
  1966. #endif /* GL_EXT_vertex_array */
  1967.  
  1968. /*
  1969. ** GL_EXT_multi_draw_arrays
  1970. **
  1971. **  Support:
  1972. **   Rage 128         based : Supported
  1973. **   Radeon 7xxx      based : Supported
  1974. **   Radeon 8xxx/9000 based : Supported
  1975. **   Radeon 9500/9700 based : Supported
  1976. */
  1977. #ifndef GL_EXT_multi_draw_arrays
  1978. #define GL_EXT_multi_draw_arrays                1
  1979.  
  1980. typedef void (APIENTRY * PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
  1981. typedef void (APIENTRY * PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);
  1982.  
  1983. #endif /* GL_EXT_multi_draw_arrays */
  1984.  
  1985. /*
  1986. ** GL_EXT_vertex_shader
  1987. **
  1988. **  Support:
  1989. **   Rage 128         based : Not Supported
  1990. **   Radeon 7xxx      based : Not Supported
  1991. **   Radeon 8xxx/9000 based : Supported
  1992. **   Radeon 9500/9700 based : Supported
  1993. */
  1994. #ifndef GL_EXT_vertex_shader
  1995. #define GL_EXT_vertex_shader                               1
  1996.  
  1997. #define GL_VERTEX_SHADER_EXT                               0x8780
  1998. #define GL_VERTEX_SHADER_BINDING_EXT                       0x8781
  1999. #define GL_OP_INDEX_EXT                                    0x8782
  2000. #define GL_OP_NEGATE_EXT                                   0x8783
  2001. #define GL_OP_DOT3_EXT                                     0x8784
  2002. #define GL_OP_DOT4_EXT                                     0x8785
  2003. #define GL_OP_MUL_EXT                                      0x8786
  2004. #define GL_OP_ADD_EXT                                      0x8787
  2005. #define GL_OP_MADD_EXT                                     0x8788
  2006. #define GL_OP_FRAC_EXT                                     0x8789
  2007. #define GL_OP_MAX_EXT                                      0x878A
  2008. #define GL_OP_MIN_EXT                                      0x878B
  2009. #define GL_OP_SET_GE_EXT                                   0x878C
  2010. #define GL_OP_SET_LT_EXT                                   0x878D
  2011. #define GL_OP_CLAMP_EXT                                    0x878E
  2012. #define GL_OP_FLOOR_EXT                                    0x878F
  2013. #define GL_OP_ROUND_EXT                                    0x8790
  2014. #define GL_OP_EXP_BASE_2_EXT                               0x8791
  2015. #define GL_OP_LOG_BASE_2_EXT                               0x8792
  2016. #define GL_OP_POWER_EXT                                    0x8793
  2017. #define GL_OP_RECIP_EXT                                    0x8794
  2018. #define GL_OP_RECIP_SQRT_EXT                               0x8795
  2019. #define GL_OP_SUB_EXT                                      0x8796
  2020. #define GL_OP_CROSS_PRODUCT_EXT                            0x8797
  2021. #define GL_OP_MULTIPLY_MATRIX_EXT                          0x8798
  2022. #define GL_OP_MOV_EXT                                      0x8799
  2023. #define GL_OUTPUT_VERTEX_EXT                               0x879A
  2024. #define GL_OUTPUT_COLOR0_EXT                               0x879B
  2025. #define GL_OUTPUT_COLOR1_EXT                               0x879C
  2026. #define GL_OUTPUT_TEXTURE_COORD0_EXT                       0x879D
  2027. #define GL_OUTPUT_TEXTURE_COORD1_EXT                       0x879E
  2028. #define GL_OUTPUT_TEXTURE_COORD2_EXT                       0x879F
  2029. #define GL_OUTPUT_TEXTURE_COORD3_EXT                       0x87A0
  2030. #define GL_OUTPUT_TEXTURE_COORD4_EXT                       0x87A1
  2031. #define GL_OUTPUT_TEXTURE_COORD5_EXT                       0x87A2
  2032. #define GL_OUTPUT_TEXTURE_COORD6_EXT                       0x87A3
  2033. #define GL_OUTPUT_TEXTURE_COORD7_EXT                       0x87A4
  2034. #define GL_OUTPUT_TEXTURE_COORD8_EXT                       0x87A5
  2035. #define GL_OUTPUT_TEXTURE_COORD9_EXT                       0x87A6
  2036. #define GL_OUTPUT_TEXTURE_COORD10_EXT                      0x87A7
  2037. #define GL_OUTPUT_TEXTURE_COORD11_EXT                      0x87A8
  2038. #define GL_OUTPUT_TEXTURE_COORD12_EXT                      0x87A9
  2039. #define GL_OUTPUT_TEXTURE_COORD13_EXT                      0x87AA
  2040. #define GL_OUTPUT_TEXTURE_COORD14_EXT                      0x87AB
  2041. #define GL_OUTPUT_TEXTURE_COORD15_EXT                      0x87AC
  2042. #define GL_OUTPUT_TEXTURE_COORD16_EXT                      0x87AD
  2043. #define GL_OUTPUT_TEXTURE_COORD17_EXT                      0x87AE
  2044. #define GL_OUTPUT_TEXTURE_COORD18_EXT                      0x87AF
  2045. #define GL_OUTPUT_TEXTURE_COORD19_EXT                      0x87B0
  2046. #define GL_OUTPUT_TEXTURE_COORD20_EXT                      0x87B1
  2047. #define GL_OUTPUT_TEXTURE_COORD21_EXT                      0x87B2
  2048. #define GL_OUTPUT_TEXTURE_COORD22_EXT                      0x87B3
  2049. #define GL_OUTPUT_TEXTURE_COORD23_EXT                      0x87B4
  2050. #define GL_OUTPUT_TEXTURE_COORD24_EXT                      0x87B5
  2051. #define GL_OUTPUT_TEXTURE_COORD25_EXT                      0x87B6
  2052. #define GL_OUTPUT_TEXTURE_COORD26_EXT                      0x87B7
  2053. #define GL_OUTPUT_TEXTURE_COORD27_EXT                      0x87B8
  2054. #define GL_OUTPUT_TEXTURE_COORD28_EXT                      0x87B9
  2055. #define GL_OUTPUT_TEXTURE_COORD29_EXT                      0x87BA
  2056. #define GL_OUTPUT_TEXTURE_COORD30_EXT                      0x87BB
  2057. #define GL_OUTPUT_TEXTURE_COORD31_EXT                      0x87BC
  2058. #define GL_OUTPUT_FOG_EXT                                  0x87BD
  2059. #define GL_SCALAR_EXT                                      0x87BE
  2060. #define GL_VECTOR_EXT                                      0x87BF
  2061. #define GL_MATRIX_EXT                                      0x87C0
  2062. #define GL_VARIANT_EXT                                     0x87C1
  2063. #define GL_INVARIANT_EXT                                   0x87C2
  2064. #define GL_LOCAL_CONSTANT_EXT                              0x87C3
  2065. #define GL_LOCAL_EXT                                       0x87C4
  2066. #define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT              0x87C5
  2067. #define GL_MAX_VERTEX_SHADER_VARIANTS_EXT                  0x87C6
  2068. #define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT                0x87C7
  2069. #define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT           0x87C8
  2070. #define GL_MAX_VERTEX_SHADER_LOCALS_EXT                    0x87C9
  2071. #define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT    0x87CA
  2072. #define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT        0x87CB
  2073. #define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT      0x87CC
  2074. #define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CD
  2075. #define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT          0x87CE
  2076. #define GL_VERTEX_SHADER_INSTRUCTIONS_EXT                  0x87CF
  2077. #define GL_VERTEX_SHADER_VARIANTS_EXT                      0x87D0
  2078. #define GL_VERTEX_SHADER_INVARIANTS_EXT                    0x87D1
  2079. #define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT               0x87D2
  2080. #define GL_VERTEX_SHADER_LOCALS_EXT                        0x87D3
  2081. #define GL_VERTEX_SHADER_OPTIMIZED_EXT                     0x87D4
  2082. #define GL_X_EXT                                           0x87D5
  2083. #define GL_Y_EXT                                           0x87D6
  2084. #define GL_Z_EXT                                           0x87D7
  2085. #define GL_W_EXT                                           0x87D8
  2086. #define GL_NEGATIVE_X_EXT                                  0x87D9
  2087. #define GL_NEGATIVE_Y_EXT                                  0x87DA
  2088. #define GL_NEGATIVE_Z_EXT                                  0x87DB
  2089. #define GL_NEGATIVE_W_EXT                                  0x87DC
  2090. #define GL_ZERO_EXT                                        0x87DD
  2091. #define GL_ONE_EXT                                         0x87DE
  2092. #define GL_NEGATIVE_ONE_EXT                                0x87DF
  2093. #define GL_NORMALIZED_RANGE_EXT                            0x87E0
  2094. #define GL_FULL_RANGE_EXT                                  0x87E1
  2095. #define GL_CURRENT_VERTEX_EXT                              0x87E2
  2096. #define GL_MVP_MATRIX_EXT                                  0x87E3
  2097. #define GL_VARIANT_VALUE_EXT                               0x87E4
  2098. #define GL_VARIANT_DATATYPE_EXT                            0x87E5
  2099. #define GL_VARIANT_ARRAY_STRIDE_EXT                        0x87E6
  2100. #define GL_VARIANT_ARRAY_TYPE_EXT                          0x87E7
  2101. #define GL_VARIANT_ARRAY_EXT                               0x87E8
  2102. #define GL_VARIANT_ARRAY_POINTER_EXT                       0x87E9
  2103. #define GL_INVARIANT_VALUE_EXT                             0x87EA
  2104. #define GL_INVARIANT_DATATYPE_EXT                          0x87EB
  2105. #define GL_LOCAL_CONSTANT_VALUE_EXT                        0x87EC
  2106. #define GL_LOCAL_CONSTANT_DATATYPE_EXT                     0x87ED
  2107.  
  2108. typedef GLvoid    (APIENTRY * PFNGLBEGINVERTEXSHADEREXTPROC) (void);
  2109. typedef GLvoid    (APIENTRY * PFNGLENDVERTEXSHADEREXTPROC) (void);
  2110. typedef GLvoid    (APIENTRY * PFNGLBINDVERTEXSHADEREXTPROC) (GLuint id);
  2111. typedef GLuint    (APIENTRY * PFNGLGENVERTEXSHADERSEXTPROC) (GLuint range);
  2112. typedef GLvoid    (APIENTRY * PFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id);
  2113. typedef GLvoid    (APIENTRY * PFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1);
  2114. typedef GLvoid    (APIENTRY * PFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1,
  2115.                                                       GLuint arg2);
  2116. typedef GLvoid    (APIENTRY * PFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1,
  2117.                                                       GLuint arg2, GLuint arg3);
  2118. typedef GLvoid    (APIENTRY * PFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX,
  2119.                                                     GLenum outY, GLenum outZ, GLenum outW);
  2120. typedef GLvoid    (APIENTRY * PFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX,
  2121.                                                       GLenum outY, GLenum outZ, GLenum outW);
  2122. typedef GLvoid    (APIENTRY * PFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
  2123. typedef GLvoid    (APIENTRY * PFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
  2124. typedef GLuint    (APIENTRY * PFNGLGENSYMBOLSEXTPROC) (GLenum dataType, GLenum storageType,
  2125.                                                        GLenum range, GLuint components);
  2126. typedef GLvoid    (APIENTRY * PFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, GLvoid *addr);
  2127. typedef GLvoid    (APIENTRY * PFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, GLvoid *addr);
  2128. typedef GLvoid    (APIENTRY * PFNGLVARIANTBVEXTPROC) (GLuint id, GLbyte *addr);
  2129. typedef GLvoid    (APIENTRY * PFNGLVARIANTSVEXTPROC) (GLuint id, GLshort *addr);
  2130. typedef GLvoid    (APIENTRY * PFNGLVARIANTIVEXTPROC) (GLuint id, GLint *addr);
  2131. typedef GLvoid    (APIENTRY * PFNGLVARIANTFVEXTPROC) (GLuint id, GLfloat *addr);
  2132. typedef GLvoid    (APIENTRY * PFNGLVARIANTDVEXTPROC) (GLuint id, GLdouble *addr);
  2133. typedef GLvoid    (APIENTRY * PFNGLVARIANTUBVEXTPROC) (GLuint id, GLubyte *addr);
  2134. typedef GLvoid    (APIENTRY * PFNGLVARIANTUSVEXTPROC) (GLuint id, GLushort *addr);
  2135. typedef GLvoid    (APIENTRY * PFNGLVARIANTUIVEXTPROC) (GLuint id, GLuint *addr);
  2136. typedef GLvoid    (APIENTRY * PFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type,
  2137.                                                            GLuint stride, GLvoid *addr);
  2138. typedef GLvoid    (APIENTRY * PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
  2139. typedef GLvoid    (APIENTRY * PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
  2140. typedef GLuint    (APIENTRY * PFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value);
  2141. typedef GLuint    (APIENTRY * PFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value);
  2142. typedef GLuint    (APIENTRY * PFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord,
  2143.                                                                 GLenum value);
  2144. typedef GLuint    (APIENTRY * PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value);
  2145. typedef GLuint    (APIENTRY * PFNGLBINDPARAMETEREXTPROC) (GLenum value);
  2146. typedef GLboolean (APIENTRY * PFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap);
  2147. typedef GLvoid    (APIENTRY * PFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value,
  2148.                                                                GLboolean *data);
  2149. typedef GLvoid    (APIENTRY * PFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value,
  2150.                                                                GLint *data);
  2151. typedef GLvoid    (APIENTRY * PFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value,
  2152.                                                              GLfloat *data);
  2153. typedef GLvoid    (APIENTRY * PFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value,
  2154.                                                                GLvoid **data);
  2155. typedef GLvoid    (APIENTRY * PFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value,
  2156.                                                                  GLboolean *data);
  2157. typedef GLvoid    (APIENTRY * PFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value,
  2158.                                                                  GLint *data);
  2159. typedef GLvoid    (APIENTRY * PFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value,
  2160.                                                                GLfloat *data);
  2161. typedef GLvoid    (APIENTRY * PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value,
  2162.                                                                      GLboolean *data);
  2163. typedef GLvoid    (APIENTRY * PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value,
  2164.                                                                      GLint *data);
  2165. typedef GLvoid    (APIENTRY * PFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value,
  2166.                                                                    GLfloat *data);
  2167.  
  2168. #endif /* GL_EXT_vertex_shader */
  2169.  
  2170.  
  2171. /*
  2172. **  IHV EXTENSIONS
  2173. */
  2174.  
  2175. /*
  2176. ** GL_NV_occlusion_query
  2177. **
  2178. ** Support:
  2179. **
  2180. **   Rage 128         based : Not Supported
  2181. **   Radeon 7xxx      based : Not Supported
  2182. **   Radeon 8xxx/9000 based : Supported
  2183. **   Radeon 9500/9700 based : Supported
  2184. */
  2185. #ifndef GL_NV_occlusion_query
  2186. #define GL_NV_occlusion_query              1
  2187.  
  2188. #define GL_PIXEL_COUNTER_BITS_NV           0x8864
  2189. #define GL_CURRENT_OCCLUSION_QUERY_ID_NV   0x8865
  2190. #define GL_PIXEL_COUNT_NV                  0x8866
  2191. #define GL_PIXEL_COUNT_AVAILABLE_NV        0x8867
  2192.  
  2193. typedef GLvoid    (APIENTRY * PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint *ids);
  2194. typedef GLvoid    (APIENTRY * PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint *ids);
  2195. typedef GLboolean (APIENTRY * PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id);
  2196. typedef GLvoid    (APIENTRY * PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id);
  2197. typedef GLvoid    (APIENTRY * PFNGLENDOCCLUSIONQUERYNVPROC) (GLvoid);
  2198. typedef GLvoid    (APIENTRY * PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint *params);
  2199. typedef GLvoid    (APIENTRY * PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint *params);
  2200.  
  2201. #endif /* GL_NV_occlusion_query */
  2202.  
  2203. /*
  2204. ** GL_NV_texgen_reflection
  2205. **
  2206. **  Support:
  2207. **   Rage 128         based : Supported
  2208. **   Radeon 7xxx      based : Supported
  2209. **   Radeon 8xxx/9000 based : Supported
  2210. **   Radeon 9500/9700 based : Supported
  2211. */
  2212. #ifndef GL_NV_texgen_reflection
  2213. #define GL_NV_texgen_reflection              1
  2214.  
  2215. #define GL_NORMAL_MAP_NV                     0x8511
  2216. #define GL_REFLECTION_MAP_NV                 0x8512
  2217.  
  2218. #endif /* GL_NV_texgen_reflection */
  2219.  
  2220. /*
  2221. ** GL_NV_blend_square
  2222. **
  2223. **  Support:
  2224. **   Radeon    * based : Supported
  2225. **   Radeon 8xxx/9000 based : Supported
  2226. **   Radeon 8xxx/9000 based : Supported
  2227. **   Radeon 9500/9700 based : Supported
  2228. */
  2229. #ifndef GL_NV_blend_square
  2230. #define GL_NV_blend_square                   1
  2231.  
  2232. #endif /* GL_NV_blend_square */
  2233.  
  2234. /*
  2235. ** GL_S3_s3tc
  2236. **
  2237. **  Support:
  2238. **   Rage 128         based : Not Supported
  2239. **   Radeon 7xxx      based : Supported
  2240. **   Radeon 8xxx/9000 based : Supported
  2241. **   Radeon 9500/9700 based : Supported
  2242. */
  2243. #ifndef GL_S3_s3tc
  2244. #define GL_S3_s3tc                           1
  2245.  
  2246. #define GL_RGB_S3TC                          0x83A0
  2247. #define GL_RGB4_S3TC                         0x83A1
  2248. #define GL_RGBA_S3TC                         0x83A2
  2249. #define GL_RGBA4_S3TC                        0x83A3
  2250.  
  2251. #endif /* GL_S3_s3tc */
  2252.  
  2253. /*
  2254. ** GL_SGI_texture_edge_clamp
  2255. **
  2256. **  Support:
  2257. **   Rage 128         based : Supported
  2258. **   Radeon 7xxx      based : Supported
  2259. **   Radeon 8xxx/9000 based : Supported
  2260. **   Radeon 9500/9700 based : Supported
  2261. */
  2262. #ifndef GL_SGI_texture_edge_clamp
  2263. #define GL_SGI_texture_edge_clamp            1
  2264.  
  2265. #define GL_CLAMP_TO_EDGE_SGI                 0x812F
  2266.  
  2267. #endif /* GL_SGI_texture_edge_clamp */
  2268.  
  2269. /*
  2270. ** GL_SGIS_generate_mipmap
  2271. **
  2272. **  Support:
  2273. **   Rage 128         based : Not supported
  2274. **   Radeon 7xxx      based : Supported
  2275. **   Radeon 8xxx/9000 based : Supported
  2276. **   Radeon 9500/9700 based : Supported
  2277. */
  2278. #ifndef GL_SGIS_generate_mipmap
  2279. #define GL_SGIS_generate_mipmap              1
  2280.  
  2281. #define GL_GENERATE_MIPMAP_SGIS              0x8191
  2282. #define GL_GENERATE_MIPMAP_HINT_SGIS         0x8192
  2283.  
  2284. #endif /* GL_SGIS_generate_mipmap */
  2285.  
  2286. /*
  2287. ** GL_SGIS_multitexture
  2288. **
  2289. **  Support:
  2290. **   Rage 128         based : Supported
  2291. **   Radeon 7xxx      based : Supported
  2292. **   Radeon 8xxx/9000 based : Supported
  2293. **   Radeon 9500/9700 based : Supported
  2294. */
  2295. #ifndef GL_SGIS_multitexture
  2296. #define GL_SGIS_multitexture                1
  2297.  
  2298. #define TEXTURE0_SGIS                       0x835E
  2299. #define TEXTURE1_SGIS                       0x835F
  2300. #define GL_SELECTED_TEXTURE_SGIS            0x83C0
  2301. #define GL_SELECTED_TEXTURE_COORD_SET_SGIS  0x83C1
  2302. #define GL_SELECTED_TEXTURE_TRANSFORM_SGIS  0x83C2
  2303. #define GL_MAX_TEXTURES_SGIS                0x83C3
  2304. #define GL_MAX_TEXTURE_COORD_SETS_SGIS      0x83C4
  2305. #define GL_TEXTURE_ENV_COORD_SET_SGIS       0x83C5
  2306. #define GL_TEXTURE0_SGIS                    0x83C6
  2307. #define GL_TEXTURE1_SGIS                    0x83C7
  2308. #define GL_TEXTURE2_SGIS                    0x83C8
  2309. #define GL_TEXTURE3_SGIS                    0x83C9
  2310. #define GL_TEXTURE4_SGIS                    0x83CA
  2311. #define GL_TEXTURE5_SGIS                    0x83CB
  2312. #define GL_TEXTURE6_SGIS                    0x83CC
  2313. #define GL_TEXTURE7_SGIS                    0x83CD
  2314. #define GL_TEXTURE8_SGIS                    0x83CE
  2315. #define GL_TEXTURE9_SGIS                    0x83CF
  2316. #define GL_TEXTURE10_SGIS                   0x83D0
  2317. #define GL_TEXTURE11_SGIS                   0x83D1
  2318. #define GL_TEXTURE12_SGIS                   0x83D2
  2319. #define GL_TEXTURE13_SGIS                   0x83D3
  2320. #define GL_TEXTURE14_SGIS                   0x83D4
  2321. #define GL_TEXTURE15_SGIS                   0x83D5
  2322. #define GL_TEXTURE16_SGIS                   0x83D6
  2323. #define GL_TEXTURE17_SGIS                   0x83D7
  2324. #define GL_TEXTURE18_SGIS                   0x83D8
  2325. #define GL_TEXTURE19_SGIS                   0x83D9
  2326. #define GL_TEXTURE20_SGIS                   0x83DA
  2327. #define GL_TEXTURE21_SGIS                   0x83DB
  2328. #define GL_TEXTURE22_SGIS                   0x83DC
  2329. #define GL_TEXTURE23_SGIS                   0x83DD
  2330. #define GL_TEXTURE24_SGIS                   0x83DE
  2331. #define GL_TEXTURE25_SGIS                   0x83DF
  2332. #define GL_TEXTURE26_SGIS                   0x83E0
  2333. #define GL_TEXTURE27_SGIS                   0x83E1
  2334. #define GL_TEXTURE28_SGIS                   0x83E2
  2335. #define GL_TEXTURE29_SGIS                   0x83E3
  2336. #define GL_TEXTURE30_SGIS                   0x83E4
  2337. #define GL_TEXTURE31_SGIS                   0x83E5
  2338.  
  2339. typedef void (APIENTRY * PFNGLSELECTTEXTURESGISPROC) (GLenum texture);
  2340. typedef void (APIENTRY * PFNGLSELECTTEXTURETRANSFORMSGISPROC) (GLenum texture);
  2341. typedef void (APIENTRY * PFNGLSELECTTEXTURECOORDSETSGISPROC) (GLenum texture);
  2342. typedef void (APIENTRY * PFNGLMULTITEXCOORD1DSGISPROC) (GLenum texture, GLdouble s);
  2343. typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVSGISPROC) (GLenum texture, const GLdouble *v);
  2344. typedef void (APIENTRY * PFNGLMULTITEXCOORD1FSGISPROC) (GLenum texture, GLfloat s);
  2345. typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVSGISPROC) (GLenum texture, const GLfloat *v);
  2346. typedef void (APIENTRY * PFNGLMULTITEXCOORD1ISGISPROC) (GLenum texture, GLint s);
  2347. typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVSGISPROC) (GLenum texture, const GLint *v);
  2348. typedef void (APIENTRY * PFNGLMULTITEXCOORD1SSGISPROC) (GLenum texture, GLshort s);
  2349. typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVSGISPROC) (GLenum texture, const GLshort *v);
  2350. typedef void (APIENTRY * PFNGLMULTITEXCOORD2DSGISPROC) (GLenum texture, GLdouble s, GLdouble t);
  2351. typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVSGISPROC) (GLenum texture, const GLdouble *v);
  2352. typedef void (APIENTRY * PFNGLMULTITEXCOORD2FSGISPROC) (GLenum texture, GLfloat s, GLfloat t);
  2353. typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVSGISPROC) (GLenum texture, const GLfloat *v);
  2354. typedef void (APIENTRY * PFNGLMULTITEXCOORD2ISGISPROC) (GLenum texture, GLint s, GLint t);
  2355. typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVSGISPROC) (GLenum texture, const GLint *v);
  2356. typedef void (APIENTRY * PFNGLMULTITEXCOORD2SSGISPROC) (GLenum texture, GLshort s, GLshort t);
  2357. typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVSGISPROC) (GLenum texture, const GLshort *v);
  2358. typedef void (APIENTRY * PFNGLMULTITEXCOORD3DSGISPROC) (GLenum texture, GLdouble s, GLdouble t, GLdouble r);
  2359. typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVSGISPROC) (GLenum texture, const GLdouble *v);
  2360. typedef void (APIENTRY * PFNGLMULTITEXCOORD3FSGISPROC) (GLenum texture, GLfloat s, GLfloat t, GLfloat r);
  2361. typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVSGISPROC) (GLenum texture, const GLfloat *v);
  2362. typedef void (APIENTRY * PFNGLMULTITEXCOORD3ISGISPROC) (GLenum texture, GLint s, GLint t, GLint r);
  2363. typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVSGISPROC) (GLenum texture, const GLint *v);
  2364. typedef void (APIENTRY * PFNGLMULTITEXCOORD3SSGISPROC) (GLenum texture, GLshort s, GLshort t, GLshort r);
  2365. typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVSGISPROC) (GLenum texture, const GLshort *v);
  2366. typedef void (APIENTRY * PFNGLMULTITEXCOORD4DSGISPROC) (GLenum texture, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
  2367. typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVSGISPROC) (GLenum texture, const GLdouble *v);
  2368. typedef void (APIENTRY * PFNGLMULTITEXCOORD4FSGISPROC) (GLenum texture, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
  2369. typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVSGISPROC) (GLenum texture, const GLfloat *v);
  2370. typedef void (APIENTRY * PFNGLMULTITEXCOORD4ISGISPROC) (GLenum texture, GLint s, GLint t, GLint r, GLint q);
  2371. typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVSGISPROC) (GLenum texture, const GLint *v);
  2372. typedef void (APIENTRY * PFNGLMULTITEXCOORD4SSGISPROC) (GLenum texture, GLshort s, GLshort t, GLshort r, GLshort q);
  2373. typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVSGISPROC) (GLenum texture, const GLshort *v);
  2374.  
  2375. #endif /* GL_SGIS_multitexture */
  2376.  
  2377. /*
  2378. ** GL_SGIS_texture_border_clamp
  2379. **
  2380. **  Support:
  2381. **   Rage 128         based : Supported
  2382. **   Radeon 7xxx      based : Supported
  2383. **   Radeon 8xxx/9000 based : Supported
  2384. **   Radeon 9500/9700 based : Supported
  2385. */
  2386. #ifndef GL_SGIS_texture_border_clamp
  2387. #define GL_SGIS_texture_border_clamp         1
  2388.  
  2389. #define GL_CLAMP_TO_BORDER_SGIS              0x812D
  2390.  
  2391. #endif
  2392.  
  2393. /*
  2394. ** GL_SGIS_texture_lod
  2395. **
  2396. **  Support:
  2397. **   Rage 128         based : Supported
  2398. **   Radeon 7xxx      based : Supported
  2399. **   Radeon 8xxx/9000 based : Supported
  2400. **   Radeon 9500/9700 based : Supported
  2401. */
  2402. #ifndef GL_SGIS_texture_lod
  2403. #define GL_SGIS_texture_lod                  1
  2404.  
  2405. #define GL_TEXTURE_MIN_LOD_SGIS              0x813A
  2406. #define GL_TEXTURE_MAX_LOD_SGIS              0x813B
  2407. #define GL_TEXTURE_BASE_LEVEL_SGIS           0x813C
  2408. #define GL_TEXTURE_MAX_LEVEL_SGIS            0x813D
  2409.  
  2410. #endif /* GL_SGIS_texture_lod */
  2411.  
  2412.  
  2413. /*
  2414. **  ISV EXTENSIONS
  2415. */
  2416.  
  2417. /*
  2418. ** GL_KTX_buffer_region
  2419. **
  2420. **  Support:
  2421. **   Rage 128         based : Supported
  2422. **   Radeon 7xxx      based : Supported
  2423. **   Radeon 8xxx/9000 based : Supported
  2424. **   Radeon 9500/9700 based : Supported
  2425. */
  2426. #ifndef GL_KTX_buffer_region
  2427. #define GL_KTX_buffer_region                 1
  2428.  
  2429. #define GL_KTX_FRONT_REGION                  0x0
  2430. #define GL_KTX_BACK_REGION                   0x1
  2431. #define GL_KTX_Z_REGION                      0x2
  2432. #define GL_KTX_STENCIL_REGION                0x3
  2433.  
  2434. typedef GLuint (APIENTRY * PFNGLBUFFERREGIONENABLEDEXTPROC) ( void );
  2435. typedef GLuint (APIENTRY * PFNGLNEWBUFFERREGIONEXTPROC) ( GLenum region );
  2436. typedef void (APIENTRY * PFNGLDELETEBUFFERREGIONEXTPROC) ( GLenum region );
  2437. typedef void (APIENTRY * PFNGLREADBUFFERREGIONEXTPROC) ( GLuint region, GLint x, GLint y, GLsizei width, GLsizei height);
  2438. typedef void (APIENTRY * PFNGLDRAWBUFFERREGIONEXTPROC) ( GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest);
  2439.  
  2440. #endif /* GL_KTX_buffer_region */
  2441.  
  2442. /*
  2443. ** GL_WIN_swap_hint
  2444. **
  2445. **  Support:
  2446. **   Rage 128         based : Supported
  2447. **   Radeon 7xxx      based : Supported
  2448. **   Radeon 8xxx/9000 based : Supported
  2449. **   Radeon 9500/9700 based : Supported
  2450. */
  2451. #ifndef GL_WIN_swap_hint
  2452. #define GL_WIN_swap_hint                     1
  2453.  
  2454. typedef void (APIENTRY * PFNGLADDSWAPHINTRECTWINPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
  2455.  
  2456. #endif /* GL_WIN_swap_hint */
  2457.  
  2458. /*
  2459. ** GL_SUN_multi_draw_arrays
  2460. **
  2461. **  Support:
  2462. **   Rage 128         based : Supported
  2463. **   Radeon 7xxx      based : Supported
  2464. **   Radeon 8xxx/9000 based : Supported
  2465. **   Radeon 9500/9700 based : Supported
  2466. */
  2467. #ifndef GL_SUN_multi_draw_arrays
  2468. #define GL_SUN_multi_draw_arrays              1
  2469.  
  2470. typedef void (APIENTRY * PFNGLMULTIDRAWARRAYSSUNPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
  2471. typedef void (APIENTRY * PFNGLMULTIDRAWELEMENTSSUNPROC) (GLenum mode, GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);
  2472.  
  2473. #endif /* GL_SUN_multi_draw_arrays */
  2474.  
  2475. /*
  2476. ** HP_occlusion_test
  2477. **
  2478. ** Support:
  2479. **   Rage 128         based : Not Supported
  2480. **   Radeon 7xxx      based : Not Supported
  2481. **   Radeon 8xxx/9000 based : Supported
  2482. **   Radeon 9500/9700 based : Supported
  2483. */
  2484. #ifndef GL_HP_occlusion_test
  2485. #define GL_HP_occlusion_test                 1
  2486.  
  2487. #define GL_OCCLUSION_TEST_HP                 0x8165
  2488. #define GL_OCCLUSION_TEST_RESULT_HP          0x8166
  2489.  
  2490. #endif  /* HP_occlusion_test */
  2491.  
  2492. #ifdef __cplusplus
  2493. } /* extern "C" */
  2494. #endif
  2495.  
  2496. #endif /* __gl_ATI_h_ */
  2497.